Esta bem feito?

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

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

2 curtidas

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

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