@John_Winchester escreveu:
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); } }
Mensagens: 3
Participantes: 2