Escreva uma classe Frota que é uma agregação de Veículos, utilizando uma lista dinamicamente redimensionável de Veículos (ArrayList). Acrescente métodos para: incluir veículos na frota, excluir a partir da placa, excluir a partir do chassi, excluir vários a partir do ano, consultar a partir da placa, consultar a partir do chassi, aumentar o preço de um veículo da lista a partir da placa – aumentarPreco(placa, aumento) – chamar o método aumentarPreço(aumento) do veículo que tem o parâmetro placa, aumentar o preço de um veículo da lista a partir do chassi – idem, reduzir o preço de um veículo da lista a partir do chassi – idem, reduzirPreco(chassi, redução), reduzir o preço de um veículo da lista a partir da placa – idem, listar todos os dados de todos os veículos da frota, chamando os métodos exibir() de cada veículo da lista
import java.util.*;
public class Frota {
ArrayList<Veiculo>lista= new ArrayList<Veiculo>();
void incluirVeiculo(Veiculo v) {
lista.add(v);
}
Crie uma classe chamada veículo que contenham: placa, chassi, ano e preço. Depois que tiver essa classe, crie os métodos na classe Frota. Nela vai ter os seguintes métodos
inserirVeiculo(veiculo v), e o que ela faz é subjetivo.
excluirPorPlaca(veiculo v), e também é subjetivo. Aqui você pode procurar o índice do veículo que tenha essa placa e excluir ele ou rodar toda a lista e apagar qual for igual.
excluirPorChassi(veiculo v), o mesmo que o por placa, mas vai usar o chassi como parâmetro
excluirPorAno(tipo ano), percorra toda a lista vendo se cada item que aquele ano, caso tenha, exclua o mesmo.
buscaPorPlaca(tipo placa), sabendo que você só tem um veículo com aquela placa, busque pela mesma, depois retorne o objeto em si ou o índice dele na lista.
buscaPorChassi(tipo chassi), o mesmo que o anterior, só que usando chassi.
aumentoPorPlaca(tipo placa, float aumento), procure o item da lista com aquela placa, e deve ser apenas um, depois faça um += para atualizar o valor.
aumentoPorChassi(tipo placa, float aumento), o mesmo que o anterior, só que usando chassi.
reducaoViaPlaca e reducaoViaChassi são os mesmos processos que o anterior, só que diminuindo os valores.
exibir(), método da classe de veículo, ela não recebe parâmetros por que no momento que você acessa aquela objeto ela tem os valores.
tipo assim? o caso do aumentar e reduzir.
public void aumentarPreco(String pla, float aumento) {
for(int i =0; i < veiculos.size();i++) {
if(veiculos.get(i)!=null && veiculos.get(i).getPlaca()==pla) {
pla += aumento;
}
}
}
public void aumentarPreco(float aumentar) {
aumentar++;
}