Ajuda com If else! "RESOLVIDO!"

6 respostas
D

Boa tarde pessoal sou novato na área começando agora em java, bom mais o que estou tentando fazer e q o usuário digite o nome e o sexo e o sistema de na saída “Ilmo sr para masculino”
e “Ilma Sra para feminino”.
sendo que assim como estar no meu código so aparece Ilmo sr tanto para masculino e feminino . alguem pode me dar uma luz obrigado.

package sexo;

import java.util.Scanner ;

/**

*
  • @author Dudu
    */
    public class Sexo {

    public static void main(String[] args) {
    
    Scanner input = new Scanner(System.in);
    
    String nome;
    
    System.out.println(Digite o nome);
    
    nome = input.nextLine() ;
    
    String sexo; 
     System.out.println("Digite o sexo m ou f ");
     sexo = input.next() ;
     
     String masculino;
     masculino = "Ilmo Sr";
     String feminino;
     feminino = "Ilma Sra";
     
     boolean m = true;
     
     if(m == true){
     System.out.println(masculino +" "+ nome);
     }else if (m == false){
     System.out.println(feminino +" "+ nome);}
    

    }

}

6 Respostas

drsmachado

Qual a razão disso?

String sexo; 
System.out.println("Digite o sexo m ou f "); 
sexo = input.next() ;

E disso?

String masculino; 
masculino = "Ilmo Sr"; 
String feminino; 
feminino = "Ilma Sra"; 

boolean m = true;

E, por fim, disso?

if(m == true){ 
System.out.println(masculino +" "+ nome); 
}else if (m == false){ 
System.out.println(feminino +" "+ nome);} 
}

Como você pode ver se analisar o código com cuidado é que você sempre define como sendo do sexo masculino (m = true).

D

ok vou rever o código mais relaxa q esse é meu primeiro exercício e estou desde ontem tentando fazer já fiz e refiz varias vezes rs mesmo assim obrigado

mais a primeira Razão tem que ter para o usuário digitar o sexo ou não?

michetti

Pensa assim...

String sexo;   
System.out.println("Digite o sexo m ou f ");   
sexo = input.next() ; 

if(sexo.equals("m"){
masculino = "Ilmo Sr";   
}else{
feminino = "Ilma Sra";  
}
D

Poxa Valeu mesmo michetti consegui resolver muito obrigado espero um dia alcançar tal experiência na linguagem para poder ajudar a quem necessitar .

M

Quando você declara a variável boolean m = true, você esta definindo antes do seu bloco if/else que m = true , por isso sempre imprimi Ilmo Sr.

D

Com o auxilio dos amigos meu código funcionando 100% agradeço a tds que me ajudaram aqui um dia poderei auxiliar os amigos aqui no fórum .

package sexo;

import java.util.Scanner ;

/**

*
  • @author Dudubw
    */
    public class Sexo {

    public static void main(String[] args) {
    
    Scanner input = new Scanner(System.in);
    
    String nome;
    
    System.out.println(Digite o nome);
    
    nome = input.nextLine() ;
    
    String sexo;     
     System.out.println("Digite o sexo m ou f ");     
     sexo = input.next() ;   
     
     String masculino;
     String feminino;
             
     if(sexo.equals("m")){  
     masculino = "Ilmo Sr";
     System.out.println(masculino+" "+nome);    
     }else {  
     feminino = "Ilma Sra"; 
     System.out.println(feminino+" "+nome);
    

    }

    }
    }

Criado 24 de fevereiro de 2014
Ultima resposta 25 de fev. de 2014
Respostas 6
Participantes 4