Duvida

3 respostas
Bruno_Gabriel_da_Sil
Estou com uma duvida aqui. Tipo assim tenho q fazer um estacionamento automático onde devo add veículos mas não sei se o q estou fazendo está ficando certo alguém pode me ajuda. É mais na classe principal, pois não sei se estou conseguindo armazenar as motos no estacionamento.
public class Moto {
	private String placa;
	private float peso;
	
	public Moto(String nPlaca, float nPeso)
	{
		this.peso = nPeso;
		this.placa = nPlaca;
	}
	public float getPeso()
	{
		return peso;
	}
	public void setPeso(float nPeso)
	{
		peso = nPeso;
	}
	public String getPlaca()
	{
		return placa;
	}
	public void setPlaca(String nPlaca)
	{
		placa = nPlaca;
	}

}
import java.util.Vector;


public class MotosVector {
	private int contMotos;
	private int maxVagas;
	private float pesoAtual;
	
	private Vector Motos;
	
	public MotosVector(int maxVagas)
	{
		this.maxVagas = maxVagas;
		Motos = new Vector(maxVagas);
		contMotos = 0;
		pesoAtual = 0;
	}
	public boolean estacionarMoto(String placa, float peso)
	{
		if(contMotos <= maxVagas)
		{
			Motos.add(new Moto(placa, peso));
			contMotos++;
			return true;
		}
		return false;
	}
	public boolean pesoMoto(float peso)
	{
		if(peso <= pesoAtual)
		{
			if((peso+pesoAtual) <= 500)
			{
				pesoAtual += peso;
			}
		}return false;
	}
	public boolean retirarMoto(String placa, float peso)
	{
		if(contMotos <= maxVagas)
		{
			Motos.remove(new Moto(placa, peso));
			contMotos--;
			return true;
		}
		return false;
	}

}
import java.util.Scanner;


public class Principal {

	
	public static void main(String[] args) 
	{
		String placa;
		float peso;
		
		Scanner sc = new Scanner(System.in);
		System.out.println("Digite a placa da moto");
		placa = sc.next();
		System.out.println("Digite o peso da moto");
		peso = sc.nextFloat();
		
		MotosVector nova = new MotosVector(15);
		
		nova.estacionarMoto(placa, peso);
		
		System.out.println("Placa da moto " + placa);
		

	}

}

Se alguém puder me ajudar agradeço desde já.

3 Respostas

insonix

Isto tem cara de trabalho de faculdade hehe.

Você não pode usar List no lugar de Vector?
Porque dai você controla pelo size da lista para ver se pode incluir mais uma moto no estacionamento.

Mas tudo bem, se não puder, eu estava olhando seu código, aparentemente está tudo certo.
Oque ocorre quando você adiciona? Ele não está incluindo no vetor?

tlevi

Tenta criar este metodo dentro da classe MotosVector e depois chama ele na classe Principal :

public void listarMotos(){
    if ( Motos.isEmpty() ){
        System.out.println("Não tem nenhuma moto estacionada");
    }
    else{
        Moto moto;
        for( int i = 0; i < contMotos; i++){
            moto = (Moto) Motos.get(i);                
            
            moto.getPlaca();
            moto.getPeso();
        }
    }
}

Na classe principal :

nova.listarMotos();

Bruno_Gabriel_da_Sil

O tlevi nao posso usar conceitos nao dados pelo meu professor (como o isEmpty)porque ele crítica.
mas olha so mesmo usando ele nao consegui resolver…
Mesmo assim obrigado pela força

insonix

é trabalho de facu sim mas isso ai eh so 1/4 do q tenho q fazer creio q se conseguir rodar perfeitamente esse ai os outros serão mais faceis. Quanto ao List nao posso usar pq nao conheço e e tem o mesmo sentido do q eu disse ao tlevi. mas obrigado pela força ai

Criado 10 de setembro de 2008
Ultima resposta 11 de set. de 2008
Respostas 3
Participantes 3