package Semana09;
import java.util.ArrayList;
import java.util.Scanner;
public class Q6 {
public static void main(String[] args) {
Scanner ler = new Scanner(System.in);
Carro c = null;
ArrayList <Carro> carros = new ArrayList <Carro>();
System.out.println("Velocidade máxima permitida:");
float veloMax = ler.nextFloat();
int opc = 0;
while(opc!=6){
System.out.println("1-Incluir carro"+"\n2-Incluir carro esportivo"+"\n3-Acelerar"+"\n4-frear"+
"\n5-Mostrar velocidade de um carro"+"\n6-Encerrar programa");
opc = ler.nextInt();
if(opc==1 || opc==2) {
System.out.println("Velocidade atual do carro:");
float veloAtual = ler.nextFloat();
if(opc==1) {
c = new Carro();
c.setVelocidade(veloAtual);
carros.add(c);
}else {
c = new CarroEsportivo();
c.setVelocidade(veloAtual);
carros.add(c);
}
}else if(opc==3) {
for (Carro car : carros) {
car.acelerar();
if(car.getVelocidade()>veloMax) {
System.out.println("Carro removido por ultrapassar velocidade permitida \nVelocidade: "+car.getVelocidade());
carros.remove(car);
break;
}
}
}else if(opc==4) {
for (Carro car : carros) {
car.frear();
if(car.getVelocidade()==0) {
carros.remove(car);
System.out.println("Carro removido por atingir atingir velocidade zero \nVelocidade: "+car.getVelocidade());
}
}
}else if(opc==5) {
System.out.println("Posição do carro:");
int pos = ler.nextInt();
System.out.println("Velocidade: "+ carros.get(pos).getVelocidade());
}
}
float veloMaior = Integer.MIN_VALUE;
float veloMenor = Integer.MAX_VALUE;
String tipo = "";
for (Carro car : carros) {
if(car.getVelocidade()>veloMaior) {
veloMaior = car.getVelocidade();
if(car instanceof Carro) {
tipo = "Carro comum";
}else if(car instanceof CarroEsportivo){
tipo = "Carro Esportivo";
}
}
if(car.getVelocidade()<veloMenor) {
veloMenor = car.getVelocidade();
if(car instanceof Carro) {
tipo = "Carro comum";
}else if(car instanceof CarroEsportivo){
tipo = "Carro Esportivo";
}
}
}
System.out.println(tipo+" Mais rápido: "+ veloMaior+
"\n"+tipo+" Mais devagar: "+veloMenor);
}
}