Ajuda com If else! "RESOLVIDO!"

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);}
    

    }

}

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).

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?

Pensa assim…

[code]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”;
}
[/code]

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

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.

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);
    

    }

    }
    }