Esta bem feito?

3 respostas
java
B

Apenas criei isto por causa que estava sem internet, não sei se ficou bem feito…

Classe CriarConta

public class CriarConta {
	protected String user;
	protected String password;

	public CriarConta(String user, String password) {
		this.user = user;
		this.password = password;
	}

	public void setUser(String user) {
		this.user = user;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getUser() {
		return user;
	}

	public String getPassword() {
		return password;
	}

}

Classe Login
import java.util.Scanner;

public class Login {
	private String user;
	private String password;
	byte contador = 0;
	boolean isRunning = true;
	CriarConta c;
	Scanner in = new Scanner(System.in);

	public void Logar(CriarConta c) {
		System.out.println("Usuario");
		user = in.nextLine();
		System.out.println("Senha");
		password = in.nextLine();

		if (user.equals(c.user) && password.equals(c.password)) {
			System.out.println("Logando...");
		} else {
			do {
				if (contador == 0 || contador == 1 || contador == 2) {
					System.out.println("Usuario ou senha incorretos. Tente novamente");
					System.out.println("Usuario");
					user = in.nextLine();
					System.out.println("Senha");
					password = in.nextLine();
					contador++;
				} else {
					System.out.println("Voce tentou demais");
					break;
				}
				if ((user.equals(c.user) && password.equals(c.password))) {
					System.out.println("Logando");
					isRunning = false;
				}

			} while (isRunning);

		}

	}
}

Classe Test

import Treinos.Login.classes.CriarConta;
import Treinos.Login.classes.Login;
public class LoginTest {
	public static void main(String[] args) {
		CriarConta c = new CriarConta("Moacir", "1234");
		Login l = new Login();
		l.Logar(c);
	}
}

3 Respostas

G

Parece ok.

Note que seus getters e setters são “comuns”, você não faz nenhum processamento nos setters para atribuir e nenhum para saida dos dados nos getters, dessa forma recomendo a utilização do Lombok para com apenas uma anotação Getter e Setter ou melhor ainda Data criar todos esses métodos para você.

E um link para começar:

Caso você precise fazer algo especial em algum getter ou setter você poderá escrever ele sobrescrevendo assim o método gerado pelo Lombok, recomendo que utilize sempre essa lib.
Abs

B

Opa, esse dae eu nao conhecia vou dar uma olhada aqui obrigado.

Jonathan_Medeiros

Aqui dá pra você simplificar ao invés de testar todas as condições do contador uma por uma, você faz uma única condição que abrange todas.

if (contador <= 2) {

Criado 12 de janeiro de 2019
Ultima resposta 12 de jan. de 2019
Respostas 3
Participantes 3