Adicionar veículo ao Estacionamento

Olá pessoal,
Travei num problema, me ajudem, quero resolver o seguinte enunciado:
“Um método para adicionar um veículo ao estacionamento, que receba como parâmetro um
objeto da classe Veiculo (descrita acima) e que adicione ao valor a receber no dia o valor
referente ao pagamento do estacionamento deste veículo, além de incrementar o atributo que
armazena a quantidade de cada tipo de veículo presente. Os valores são: Carro = R$ 5,00.
Caminhonete = R$ 7,00. Ônibus = R$ 21,00. Este método só deve adicionar um veículo caso
haja vagas disponíveis.”

  Já fiz uma parte mas, travei nesse enunciado. Fiz o seguinte até agora:

public class Estacionamento
{
private int numeroVagas;
private int numeroVagasDisponiveis;
private int numeroVagasOcupadas;
private double valorRecebido;
private int numeroCarros;
private int numeroCaminhonetes;
private int numeroOnibus;

public Estacionamento(int nVagas, int nVagasDisponiveis, int nVagasOcupadas, double vRecebido, 
int nCarros, int nCaminhonetes, int nOnibus)
{
    numeroVagas = nVagas;
    numeroVagasDisponiveis = nVagasDisponiveis;
    numeroVagasOcupadas = nVagasOcupadas;
    valorRecebido = vRecebido;
    numeroCarros = nCarros;
    numeroCaminhonetes = nCaminhonetes;        
    numeroOnibus = nOnibus;        
}
public Estacionamento(int nVagas, double vRecebido, int nVagasDisponiveis)
{
    numeroVagas = nVagas;
    numeroVagasDisponiveis = nVagasDisponiveis;
    valorRecebido = vRecebido;        
}
public void adicionaVeiculo(String tipo)
{
    String carro;
    String caminhonete;
    String onibus;
    
    if(numeroVagasDisponiveis > 0)
    {
          //Aqui não sai mais...estou tentando mas está difícil. :roll: :cry:
    }
}

}

     Não tenho certeza se está correto, claro que o enunciado não diz para fazer o resto da classe, só a parte que não consigo.

Obrigada pela ajuda!!! :grin:

Você já aprendeu a usar Herança? Caso tenha aprendido o ideal e criar uma classe abstrata ou interface chamda Veiculo e extender Carro, Onicus e Caminhonete dela, desta forma você consegue um método genérico que recebe qualquer tipo de Veiculo, assim:

public void adicionaVeiculo(Veiculo v)
{ 
...
}

Você por exemplo pode usar o operador instanceof para verificar qual o tipo do objeto passado como parâmetro para este método, assim

... 
if (v instanceof Carro) {
   valorDoDia += valorCarro;
}
...

Claro que antes de fazer essa verificação você tem que fazer o tratamento para saber se existem vagas disponíveis, e não pode esquecer de incrementar o número de vagas ocupadas no final do método :wink:

Abs

Não dá para fazer de outro jeito?
Pode ser o mai demorado, não tem problema!
Obrigada

Da sim, mas você vai ter que criar um método adicionaVeiculo sobrecarregado para cada tipo diferente que este método receber… Não fica muito legal se você esta trabalhando com OO :wink: