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:
List
8 Respostas
o cara seguinte use as tags CODE ai pra poder entender melhor seu cod
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)
Você está adicionando um objeto do tipo String numa List que espera um objeto do tipo ListaNomes.
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 parteimport 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:
List<ListaNomes> nomes = new ArrayList<ListaNomes>();
por esta
List<String> nomes = new ArrayList<String>();
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>();
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?
for(String name : nomes){
System.out.println(name);
}
ou
for (Iterator<String> iterator = nomes.iterator(); iterator.hasNext();) {
System.out.println(iterator.next());
}
valew a ajuda galera 