Estou com um bug na hora de fazer o login, quando digito o login e senha corretamente ele devia fazer o que está escrito: “se log for igual a User.login apareça na tela “BEM VINDO SR.”+ User.login e parar o loop”, no entanto, na minha opinião, na verificação ele diz que log é diferente de User.login, por isso não continua a instrução do bloco. Me ajudem, sou iniciante em Java.
“Parte” bugada:
if(log==User.login){
System.out.println("BEM VINDO SR."+User.login);
break;
}
``Código do Programa:
import java.util.Scanner;
class User{
static String login = null;
static int pass;
}
class Verifica{
public static boolean verifica(){
User u = new User();
boolean vrf = true;
if(u.login!=null){
vrf = false;
}
if(u.pass!=0){
vrf = false;
}
return vrf;
}
}
public class Ola{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int esc = 0;
do{
System.out.println("_____MENU_____");
System.out.println("___1. LOGIN___");
System.out.println("__2. CADASTRO_");
System.out.println("____3. SAIR___");
esc = in.nextInt();
switch(esc){
case 1:
if(User.login==null && User.pass==0){
System.out.println("SEM CADASTRO REALIZADO");
break;
}
System.out.println(User.login);
System.out.println(User.pass);
System.out.println("DIGITE SEU LOGIN: ");
String log = in.next();
System.out.println("DIGITE SUA SENHA: ");
int senha = in.nextInt();
System.out.println(log);
System.out.println(senha);
if(log==User.login){
System.out.println("BEM VINDO SR."+User.login);
break;
}
System.out.println("CADASTRO INVALIDO");
break;
case 2:
if(Verifica.verifica()==false){
System.out.println("CADASTRO JA REALIZADO");
break;
}
System.out.println("DIGITE SEU LOGIN: ");
User.login = in.next();
System.out.println("DIGITE SUA SENHA");
User.pass = in.nextInt();
}
}while(esc!=3);
}
}
