import java.util.ArrayList;
import java.util.Scanner;
public class TesteLista {
public static Scanner s;
public static void main(String[] args) {
s = new Scanner(System.in);
ArrayList<Pessoas> listaPessoa = new ArrayList<Pessoas>();
for(int i=0; i < 6; i++){
System.out.println("\nDigite o nome:");
String nome = s.next();
listaPessoa.add(new Pessoas(nome));
}
}
}
O programa deverá dar ao usuário a opção de alterar um nome
da lista, com valores entre 1 e 6, por exemplo.
Feita a escolha do usuário pelo número correspondente ao nome,
o programa deverá alterar o nome da lista e mostrar na tela
novamente todos os nomes, inclusive o nome alterado, e voltar ao
menu de alteração, até o usuário escolher a opção de terminar o
programa.
Alguém tem ideia de como posso alterar desta maneira ?
Neste tópico [RESOLVIDO] Array list Alterar tem a respota que procura, se não resolver colocque sua dúvida aqui
Fiz umas mudanças no seu código:
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws Exception {
Scanner ler = new Scanner(System.in);
List<String> alunos = new ArrayList<String>();
alunos.add("Carol");
alunos.add("Linda");
alunos.add("Forca");
alunos.add("Vai conseguir");
imprimir(alunos);
System.out.println("=====================");
System.out.println("Percorrendo o ArrayList (usando o índice)");
for (int i = 0; i < alunos.size(); i++) {
System.out.printf("posicao %d %s %n", i, alunos.get(i));
}
System.out.println("=====================");
System.out.printf("\nInforme a posição a ser alterada :");
int index = ler.nextInt();
alunos.remove(index);
System.out.println("=====================");
imprimir(alunos);
}
private static void imprimir(List<String> alunos) {
for (String aluno : alunos) {
System.out.println(aluno);
}
}
}
Se tiver alguma dúvida, soh perguntar.
então, acabei de descobrir que tenho pegar os valores do teclado e colocar no arraylist. Posso usar o mesmo método para alterar?
Você deve fazer a leitura do teclado dentro de um loop até que uma determinada condição for atendida ("0"
ou ""
por exemplo).
Para ler um texto do scanner, faça assim:
Scanner ler = new Scanner(System.in);
String entrada = ler.nextLine();
System.out.println(entrada);
Veja se isso te ajuda a elaborar seu código:
DECLARE entrada COMO Texto
DECLARE alunos COMO Lista
FAÇA
entrada = LEIA "Digite um nome de aluno: "
alunos.ADD(entrada)
ENQUANTO (entrada != "")
IMPRIME alunos
vou tentar, obrigada pela ajuda
Sua classe deveria se chamar Pessoa
, no singular, pois cada objeto dela representa uma única pessoa e não várias.
Sobre a alteração, neste tópico tem um exemplo.