publicstaticvoidmain(String[]args){/// int n= listaPessoa.size();Scannerler=newScanner(System.in);
// String entrada = ler.nextLine();// System.out.println(entrada);ArrayListlistaPessoa=newArrayList();for(inti=0;i<=6;i++){System.out.println("\nDigite o nome:");Stringnome=ler.nextLine();listaPessoa.add(newAlunos(nome));System.out.println("\nPercorrendo o ArrayList (usando o índice)");System.out.printf("posicao %d \n ",i,listaPessoa.get(i));
}
}
}
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.
Primeiramente sua classe deveria se chamar Aluno, no singular, pois cada objeto dela representa UM aluno e NÃO VÁRIOS alunos.
Corrija isso, em seguida, para alterar um objeto da lista, obtenha a referência dele e altere-o, simples assim.
Exemplo:
AlunoalunoQueQueroAlterar=listaPessoa.get(posicaoDesejada);// obtém o objeto desejadoalunoQueQueroAlterar.setNome(novoNomeQueQuerAtribuir);// altera a propriedade desejada
C
Carol_Jorgino
Como vou saber o aluno que quero alterar, se é o usuário que vai digitar ?
A
Alysson_Alves1
pode ser assim
Aluno alteraAluno= listaPessoa.get(ler.next());// vai pegar o objeto na posição desejada alteraAluno.setNome(ler.next());//ativa o método acessor do Objeto Aluno na posição desejada de acordo com oque o usuário determinar.
I
Iohannes
Você pode procurar pelo nome, já que é o único atributo de aluno e alterar usando o método set. Exemplo:
publicclassAluno{privateStringnome;publicvoidsetNome(Stringnome){this.nome=nome;}publicStringgetNome(){returnnome;}}importjava.util.Scanner;importjava.util.List;importjava.util.ArrayList;publicclassTelaLista{privateScannerleitor=newScanner(System.in);privateList<Aluno>alunos=newArrayList<>();privatevoidexibirMenu(){System.out.println("\nEscolha uma das opções:\n"+"1 - Cadastrar\n"+"2 - Exibir\n"+"3 - Atualizar\n"+"4 - Sair");}privateAlunocadastrarAluno(){Alunoaluno=newAluno();System.out.print("\nNome do aluno: ");aluno.setNome(leitor.next());returnaluno;}privatevoidlistarAlunos(){for(Alunoaluno:alunos){System.out.println("\nNome: "+aluno.getNome());}}privateintbuscarAluno(){StringnomeAluno;System.out.print("\nNome do aluno a ser alterado: ");nomeAluno=leitor.next();for(intindice=0;indice<alunos.size();indice++){if(alunos.get(indice).getNome().equals(nomeAluno))returnindice;}return-1;}publicstaticvoidmain(String[]args){shortopcao;AlunoalunoCadastrado=null;//Scanner leitor = new Scanner(System.in);//List<Aluno> alunos = new ArrayList<>();TelaListatelaLista=newTelaLista();do{telaLista.exibirMenu();System.out.print("Opção escolhida: ");opcao=telaLista.leitor.nextShort();switch(opcao){case1:alunoCadastrado=telaLista.cadastrarAluno();telaLista.alunos.add(alunoCadastrado);break;case2:if(telaLista.alunos.size()>0)telaLista.listarAlunos();elseSystem.out.println("\nNenhum aluno cadastrado!");break;case3:intindice=telaLista.buscarAluno();alunoCadastrado=telaLista.cadastrarAluno();if(indice!=-1)telaLista.alunos.set(indice,alunoCadastrado);elseSystem.out.println("\nAluno não cadastrado!");break;case4:System.exit(0);break;default:System.out.println("\nOpção inválida!\n");telaLista.exibirMenu();}}while(opcao!=4);telaLista.leitor.close();}}