List

8 respostas
carolino
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

import javax.swing.JOptionPane;


public class InserirListaNomes {
	
	public static void main(String args[]) {
		Scanner in = new Scanner(System.in);
		String opcao;
		do {
			System.out.println("nome : ");
			String nome = in.nextLine();
			
			List<ListaNomes> nomes = new ArrayList<ListaNomes>();
			nomes.add(nome);
			
			System.out.print("cadastrar outro nome? (y/n)");
			opcao = in.nextLine();
		}while(opcao.equals("y"));
		
	}
}


pooow aonde eu to errando? :cry:

8 Respostas

evertonsilvagomesjav

o cara seguinte use as tags CODE ai pra poder entender melhor seu cod

igor_jua

Vc ta instanciando seu list dentro do loop, então quando o loop faz a volta um novo objeto é criado!
Desta maneira vc nunca irá pegar o valor que vc coloca dentro dele.
Coloque-o fora do loop que dará certo!
8)

B

Você está adicionando um objeto do tipo String numa List que espera um objeto do tipo ListaNomes.

xandevieira
carolino:
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

import javax.swing.JOptionPane;


public class InserirListaNomes {
	
	public static void main(String args[]) {
		Scanner in = new Scanner(System.in);
		String opcao;
		do {
			System.out.println("nome : ");
			String nome = in.nextLine();
			
			List<ListaNomes> nomes = new ArrayList<ListaNomes>();
			nomes.add(nome);
			
			System.out.print("cadastrar outro nome? (y/n)");
			opcao = in.nextLine();
		}while(opcao.equals("y"));
		
	}
}


pooow aonde eu to errando? :cry:
1- vc esta criando uma lista sempre q o usuario colocar "y", se vc querer mostrar essa lista depois tera um nome so. 2- vc esta dizendo que a lista sera de objetos "ListaNomes", porem esta adicionando uma String. 3- se vc simplesmente alterar esta parte
List<ListaNomes> nomes = new ArrayList<ListaNomes>();
por esta
List<String> nomes = new ArrayList<String>();
ja funciona
edmarr

O erro , esta na seguinte linha

List<ListaNomes> nomes = new ArrayList<ListaNomes>();

Vc tentou usar generic , sendo que vc nao tem a classe ListaNomes , ou seja para isto
vc teria q ter esta classe e criar o objeto para poder inserir no arraylist. Para nao precisar
fazer a checagem do tipo Sendo que eh o programa eh simples vc pode usar assim .

List nomes = new ArrayList();

Ou simplismente
checar a tipagem .

List<String> nomes = new ArrayList<String>();
carolino
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class InserirListaNomes {
	
	public static void main(String args[]) {
		Scanner in = new Scanner(System.in);
		String opcao;
		List<String> nomes = new ArrayList<String>();
		do {
			System.out.println("nome : ");
			String nome = in.nextLine();
			
			
			nomes.add(nome);
			
			System.out.print("cadastrar outro nome? (y/n)");
			opcao = in.nextLine();
		}while(opcao.equals("y"));
		
		
		//imprimindo a lista
	}
}

bom..mudei o tipo Listanomes para String só para testar como ficaria..e funcionou
agora como ficaria o for se eu quizesse imprimir a lista?

AnderLuiz
for(String name : nomes){
			System.out.println(name);
		}

ou

for (Iterator<String> iterator = nomes.iterator(); iterator.hasNext();) {
			System.out.println(iterator.next());
		}
carolino

valew a ajuda galera :smiley:

Criado 8 de outubro de 2009
Ultima resposta 8 de out. de 2009
Respostas 8
Participantes 7