Jump to content
João Godinho

Programa Simples Java

Recommended Posts

João Godinho

Tenho um programa muito simples para fazer:

Deixar o utilizador introduzir o nome, idade e sexo de 6 utilizadores e imprimir de seguida.

Fiz isto:

package trabalho;
import java.util.Scanner;
public class ex1a7 {
 public static void main(String[] args){
   Scanner leitor = new Scanner(System.in);
   String[] nome = new String[6], sexo = new String[6];
   int[] idade = new int[6];
   int i = 0;
   do{
     System.out.println("Introduza o nome do sujeito "+(i+1)+": ");
     nome[i] = leitor.nextLine();
     System.out.println("Introduza a idade do sujeito "+(i+1)+": ");
     idade[i] = leitor.nextInt();
     System.out.println("Introduza o sexo do sujeito "+(i+1)+": ");
     sexo[i] = leitor.nextLine();
     i++;
   }while(i<6);
   i = 0;
   for(i = 0; i < 6; i++){
     System.out.println(nome[i]+" tem anos e é do sexo "+sexo[i]);
   }
 }
}

Eu até tinha feito com "for", mas o problema é o mesmo.

O problema é que no final do de cada "rota" do ciclo, ele diz:

Introduza o sexo do sujeito 1:

Introduza o nome do sujeito 2:

Logo seguidos.

Obrigado pela atenção ;)

Edited by Rui Carlos
GeSHi

Share this post


Link to post
Share on other sites
João Godinho

Obrigado AJBM, resultou :)

No entanto, agora tenho outra questão. Tenho isto:

package trabalho;
import java.util.Scanner;
public class ex1a7 {
public static void main(String[] args){
 Scanner leitor = new Scanner(System.in);
 String[] nome = new String[6], sexo = new String[6];
 int[] idade = new int[6];
 for(int i = 0; i < 2; i++){
  System.out.println("Introduza o nome do sujeito "+(i+1)+": ");
  nome[i] = leitor.next();
  System.out.println("Introduza a idade do sujeito "+(i+1)+": ");
  idade[i] = leitor.nextInt();
  System.out.println("Introduza o sexo do sujeito "+(i+1)+"(Masculino/Feminino): ");
  sexo[i] = leitor.next();
 }
 /* Acima usei leitor.next(); em vez de leitor.nextLine();  porque  saltava a leitura de valores no final de cada ciclo */
 for(int i = 0; i < 2; i++){
  if((idade[i] < 23) && sexo[i] == "masculino" ){
   System.out.println(nome[i]+" tem "+idade[i]+" anos e é do sexo "+sexo[i]);
  }
 }
}
}

A comparação sexo == "masculino" não funciona. É como se sexo nunca fosse igual a "masculino". Como se compara?

Edited by Rui Carlos
GeSHi

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.