Я пытаюсь ввести пользователя int
, а затем ввести это количество имен.Длина массива, инициализированная сканером
Программа печатает эти имена в обратном порядке и в обратном порядке. Однако массив, в котором я храню эти имена, всегда создается слишком маленьким элементом, когда я использую Scanner
. Когда я просто присваиваю номер себе, у меня нет этой проблемы. Есть ли что-то уникальное с Scanner
или что я делаю неправильно?
import java.util.Scanner;
class forTester {
public static void main (String str[]) {
Scanner scan = new Scanner(System.in);
//Why does this commented code scan only one less name than expected???
/*
System.out.println("How many names do you want to enter?");
int num = scan.nextInt();
System.out.println("Enter " + num + " Names:");
String names[] = new String[num];
*/
//Comment out the next two lines if you use the four lines above.
System.out.println("Enter " + 4 + " Names:");
String names[] = new String[4];
// The code below works fine.
for (int i = 0; i < names.length; i++) {
names[i]=scan.nextLine();
}
for(int i = names.length - 1; i >= 0; i--) {
for(int p = names[i].length() - 1; p >= 0; p--) {
System.out.print(names[i].charAt(p));
}
System.out.println("");
}
}
}