Como modificar um elemento no arraylist

2 respostas
programação
Carol_Jorgino
import java.util.ArrayList;
import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class TesteLista {
	
	public static void main(String[] args) {
		///	int n= listaPessoa.size();
		Scanner ler = new Scanner(System.in);
		
		ArrayList<Alunos> listaPessoa = new ArrayList<Alunos>();    
		
		for(int i=0; i <=6; i++) {
			System.out.println("\nDigite o nome:");
			String nome= ler.nextLine();
			
			listaPessoa.add(new Alunos(nome));
			
			System.out.println("\nPercorrendo o ArrayList (usando o índice)");
			System.out.printf("posicao %d  \n  ", i, listaPessoa.get(i));
		}
		
		for(int i=0; i <=0; i++) {
			System.out.printf( "Digite o numero para alterar ");
			int entrada = ler.nextInt();  
			System.out.println(entrada);
			listaPessoa.remove(entrada);
			
			System.out.printf("digite o novo nome");
			String nomenovo = ler.nextLine();  
			System.out.println(nomenovo);
			
			Alunos ArrayList = listaPessoa.get(entrada); /// obtém o objeto desejado
			ArrayList.setNome(nomenovo); /// altera a propriedade desejad
		}
	}
}

Estou fazendo dessa forma, porém o programa não deixa eu digitar o nomenovo?
Alguém sabe o que estou fazendo de errado ?

2 Respostas

Lucas_Camara

Mude essa linha para: String nomenovo = ler.next();

staroski

Ao ler entrada de dados pelo teclado, utilize somente o nextLine(), pois é o único que consome a quebra de linha ao pressionar ENTER.

Use somente os nextQualquerCoisa() quando estiver lendo de um stream oriundo de arquivo ou socket.

Criado 29 de maio de 2020
Ultima resposta 30 de mai. de 2020
Respostas 2
Participantes 3