import java.util.ArrayList;
import java.util.Iterator;
import java.util.Scanner;
public class ControladorVeiculo {
public static void main(String[] args) {
ArrayList <Veiculo> veiculos = new ArrayList<>();
while (true){
System.out.println("Digite 1 para digitar um Veículo ou qualquer outro número para sair");
Scanner entrada1 = new Scanner (System.in);
int valorEntrada = entrada1.nextInt();
if (valorEntrada == 1){
System.out.println("Digite PASSEIO para instanciar um carro " +
"de passeio ou CAMINHÃO para instanciar um caminhão ");
Scanner entrada2 = new Scanner (System.in);
String veiculoStr = entrada2.nextLine();
if(veiculoStr.equals("PASSEIO")){
CarroPasseio passeio = new CarroPasseio();
System.out.println("Digite o modelo do seu carro de passeio: ");
String modelo = entrada2.nextLine();
passeio.setModelo(modelo);
System.out.println("Digite a placa do seu carro: ");
String placa = entrada2.nextLine();
passeio.setPlaca(placa);
System.out.println("Digite a capacidade máxima de pessoas que o carro suporta: ");
int capacidadeMaxima = entrada2.nextInt();
passeio.setCapacidadeMaxima(capacidadeMaxima);
System.out.println("Digite a cor do seu carro: ");
String cor = entrada2.nextLine();
passeio.setCor(cor);
System.out.println("Digite o peso que seu carro suporta: ");
double pesoTotal = entrada2.nextDouble();
passeio.setPeso(pesoTotal);
veiculos.add(passeio);
}else if(veiculoStr.equals("CAMINHÃO")){
Caminhao novo = new Caminhao();
System.out.println("Digite o modelo do seu caminhão: ");
String modelo2 = entrada2.nextLine();
novo.setModelo(modelo2);
System.out.println("Digite a placa do seu caminhão: ");
String placa2 = entrada2.nextLine();
novo.setPlaca(placa2);
System.out.println("Digite a capacidade máxima de pessoas que o seu caminhão suporta: ");
int capacidadeMaxima2 = entrada2.nextInt();
novo.setCapacidadeMaxima(capacidadeMaxima2);
System.out.println("Digite a quantidade de carga máxima que seu caminhão suporta: ");
double cargaMaxima = entrada2.nextDouble();
novo.setCargaMaxima(cargaMaxima);
System.out.println("Digite a altura maxima do seu caminhão: ");
double alturaMaxima = entrada2.nextDouble();
novo.setAlturaMaxima(alturaMaxima);
System.out.println("Digite o comprimento do seu caminhão: ");
double comprimento = entrada2.nextDouble();
novo.setComprimento(comprimento);
veiculos.add(novo);
}else
break;
}else
break;
}
Iterator<Veiculo> it = veiculos.iterator();
while(it.hasNext()){
Veiculo v = it.next();
System.out.println(v.toString());
if(v instanceof CarroPasseio ){
System.out.println("É um veiculo de Passeio");
}
if(v instanceof Caminhao){
System.out.println("É um caminhão");
}
}
}
}
The error is execution, when I execute and type "TRUCK" the program ends! How do I solve this? To be more specific, the else if it does not enter is what's on the line 36 I do not know why this is happening ... When I took the truck and left only "WAY" it worked, but why this happens?