Dúvida Exercício Java

0 respostas
java
G

Olá, eu estou tendo uma dúvida em relação a um exercício que estou fazendo, o principal problema é o array que não está deixando eu pegar um atributo específico do objeto dentro dele. Já tentei várias formas mas só consegui obter sucesso com o toString(), e eu queria saber o por que que só com o toString() funciona e os gets dos atributos não? Muito obrigado a quem responder, segue os códigos:

Classe Principal:

package desafioestacionamento;

import java.util.ArrayList;

public class DesafioEstacionamento {
public static void main(String[] args) {

Estacionamento est = new Estacionamento("Seu Zé");
   Carro car = new Carro("Gabriel","Vermelho","GRAEF",200);
   Carro car2 = new Carro("Amanda","Rosa","AMAN23",600);
   
   est.estacionarCarro(car);
   est.estacionarCarro(car2);
   
   est.infoEst();
}

}

Classe Carro:

package desafioestacionamento;
public class Carro {

private String cor, placa;

private int veloMax;

private String dono;
public Carro(String dono,String cor,String placa,int veloMax){
    this.setCor(cor);
    this.setPlaca(placa);
    this.setVeloMax(veloMax);
    this.setDono(dono);
}

public void info(){
    System.out.println("Placa: "+this.getPlaca());
    System.out.println("Cor: "+this.getCor());
    System.out.println("Velocidade Máxima: "+this.getVeloMax());
}

public String getCor() {
    return cor;
}

public void setCor(String cor) {
    this.cor = cor;
}

public String getPlaca() {
    return placa;
}

public void setPlaca(String placa) {
    this.placa = placa;
}

public int getVeloMax() {
    return veloMax;
}

public void setVeloMax(int veloMax) {
    this.veloMax = veloMax;
}

public String getDono() {
    return dono;
}

public void setDono(String dono) {
    this.dono = dono;
}

@Override
public String toString() {
    return "Carro{" + "cor=" + cor + ", placa=" + placa + ", veloMax=" + veloMax + ", dono=" + dono + '}';
}

}

Classe Estacionamento:

package desafioestacionamento;
import java.util.ArrayList;

public class Estacionamento{

private String nome;

private Carro car;

private ArrayList listaEst;
public Estacionamento(String nome){
    ArrayList <Carro> a = new ArrayList<>();
    this.setNome(nome);
    this.setListaEst(a);
}

public void estacionarCarro(Carro carro){
    this.getListaEst().add(carro);
    System.out.println("Carro da placa "+carro.getPlaca()+" adicionado com sucesso!");
}

public void infoEst(){
    System.out.println("----Estacionamento "+this.getNome()+"----");
        for(int i=0;i<this.getListaEst().size();i++){
            System.out.println("Carro do(a) "+this.getListaEst().get(i).toString());
        }
}




public Carro getCar() {
    return car;
}

public void setCar(Carro car) {
    this.car = car;
}

public ArrayList getListaEst() {
    return listaEst;
}

public void setListaEst(ArrayList listaEst) {
    this.listaEst = listaEst;
}

public String getNome() {
    return nome;
}

public void setNome(String nome) {
    this.nome = nome;
}

}

Método que eu queria imprimir o atributo específico:

public void infoEst(){
System.out.println("----Estacionamento "+this.getNome()+"----");
    for(int i=0;i<this.getListaEst().size();i++){
        System.out.println("Carro do(a) "+this.getListaEst().get(i).toString());
    }

}

É isso… Me desculpem se ta meio errado os códigos, é porque eu não consegui mexer muito bem na ferramenta do site kk. Agradeço desde ja.

Criado 17 de maio de 2020
Respostas 0
Participantes 1