For aprimorado dando erro e arrayList

5 respostas
R
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package carroteste;

/**
 *
 * @author Roberto
 */

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class CarroTeste {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        List<Carro> carros = new ArrayList<>();
        Scanner entrada;
        String nomeCarro;
        char resposta = 'S';
        Carro carro = new Carro();
        
        while(resposta == 'S')
        {
            entrada = new Scanner(System.in);
            
            System.out.println("CIAÇÃO DE CARROS");
            System.out.print("Digite o nome: ");
            nomeCarro = entrada.nextLine();
            
            carro.setNome(nomeCarro);
            
            carros.add(carro);
            
            System.out.print("Deseja continuar?(s/n): ");
            resposta = entrada.next().toUpperCase().charAt(0);
        }
        for(String a: carros)
            carro.imprimirNome();
    }
}
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package carroteste;

/**
 *
 * @author Roberto
 */
public class Carro {
    private String nome;
    
    public String getNome()
    {
        return nome;
    }
    
    public void setNome(String nome)
    {
        this.nome = nome;
    }
    
    public void imprimirNome()
    {
        System.out.print("Nome do carro: " + nome);
    }
}

Seguinte a dúvida esta no for aprimorado que não está funcionando
E aparentemente o ArrayList também não esta
Se alguem poder ajudar vai ajudar bastante *_____*

Ps: a intenção e de salvar os dados do objeto em um ArrayList é imprimir com um for (vou adicionar mais dados no objeto quando ele funcionar com o arraylist e impressão)

5 Respostas

Rodrigo_Sasaki

Você não está usando a variável do for.for(String a: carros) carro.imprimirNome(); você tem que criar um for aprimorado de Carro, não de String, assim:for(Carro c : carros){ c.imprimirNome(); }Só por curiosidade, esse for aprimorado que você fez aí compila?

kdoigor

[quote=robertorp] for(Carro a: carros) a.imprimirNome();

R

digaoneves:
Você não está usando a variável do for.for(String a: carros) carro.imprimirNome(); você tem que criar um for aprimorado de Carro, não de String, assim:for(Carro c : carros){ c.imprimirNome(); }Só por curiosidade, esse for aprimorado que você fez aí compila?

Atualmente esta tudo complicado nesta parte do vetor lista e este for…

======================================
Agora ele esta imprimindo somente o ultimo nome
digitei tres nomes
ele imprimiu tres veses o ultimo nome

pmlm

Isso é porque no main também só criaste um carro…

R

sim vlw :slight_smile:

foi so adicionar

Carro carro = new Carro();
para dentro do laço while e funcionou perfeitamente

obrigado a todos que ajudaram :slight_smile:

Criado 27 de agosto de 2012
Ultima resposta 27 de ago. de 2012
Respostas 5
Participantes 4