Estou estudando sobre construtores em java e empaquei numa aqui que tá dificil!! (sou iniciante)
O negócio é o seguinte to tentando criar a validação de um carro pelo ano dele, sendo: >=1990 e <=2017
e pra isso usei a condicional if
como vcs podem ver:
public Veiculo(int placa, String marca, String modelo, int ano){
this.ano = ano;
this.marca = marca;
this.modelo = modelo;
this.placa = placa;
if(ano >=1990 && ano <=2017){
System.out.println("Carro valido");
}else{
System.out.println("Carro invalido");
}
Meu objetivo, o qual não estou obtendo exito e conto com a ajuda de vcs é: Em uma Classe chamada “Teste” pedir a entrada dos atributos, e depois imprimir a validação do carro.
Não sei se consegui explicar bem o que quero mas quem conseguir descriptografar o que eu disse e puder ajudar, agradeço! haha abraço
Você pode tentar usar a classe Scanner no seu método main…
public class TesteCarro {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
System.out.println("Informe a placa: ");
int placa = entrada.nextInt();
System.out.println("Informe a marca: ");
String marca = entrada.nextLine();
...
Veiculo veiculo = new Veiculo(placa, marca, modelo, ano);
...
}
}
Sim isso eu fiz, eu so não to conseguindo usar o método para validar agora. =/
eu quero que meu método imprima pra mim no fimdo programa se o carro é valido ou não, sacas?
Só tirar essa lógica do construtor e colocá-la em um método…
public void validaCarro() {
if(ano >=1990 && ano <=2017){
System.out.println("Carro valido");
}else{
System.out.println("Carro invalido");
}
}
Outra abordagem é criar um método que retorne true ou false…
public boolean isValido() {
return (ano >=1990 && ano <=2017);
}
Depois no main é só chamar…
System.out.println("Carro válido? " + veiculo.isValido()); //true ou false
ótima sugestão, Obrigado mano!! xD
1 curtida