per loop in Java viene eseguito 3 volte prima di prendere il prossimo input

Sono nuovo di Java e l’apprendimento. Stavo provando un codice per vedere effettivamente come funziona il ciclo for-each in Java. Ma ho affrontato un problema in merito. Il mio codice è semplice:

class ForEach { public static void main(String[] args) throws java.io.IOException { char[] array = new char[10]; for(int i = 0; i < 10; i++) { System.out.println("Enter Character " + i); array[i] = (char)System.in.read(); } System.out.println("Displaying characters in array : "); for(char i : array) { System.out.println(i); } } } 

ma l’output è imbarazzante. Sono sicuro che qualcosa non va nel mio codice. Non riesco a trovarlo. L’output di questo codice è:

 Enter Character 0 a Enter Character 1 Enter Character 2 Enter Character 3 b Enter Character 4 Enter Character 5 Enter Character 6 c Enter Character 7 Enter Character 8 Enter Character 9 d Displaying characters in array : a b c d 

Non capisco perché il ciclo for è in esecuzione tre volte prima di ricevere un altro input dall’utente?

Qualsiasi aiuto? Grazie in anticipo.