Como modificar um elemento no arraylist

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 ?

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

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.

1 curtida