この以下のプログラムでは、ユーザーが挿入する都市名の数を入力し、文字列配列がそのサイズで初期化されます。次に、ループを繰り返し、配列のすべてのインデックスをユーザーから挿入された値 (都市名) で初期化しようとします。しかし、配列から値を出力しようとすると、1つ少ない値が要求されます..つまり、都市の数が2であると言う場合、ループを2回繰り返し、値を2回挿入する必要がありますが、代わりに値を挿入します1回だけ。デバッグ時に、0 番目の要素がどこかからそれ自体で初期化されていることに気付きました。正確な問題を見つけることができません。
import java.util.Scanner;
public class EmptyStringGenerator {
public static void main(String []ard) {
Scanner scanner = new Scanner(System.in);
System.out.println("How many cities?");
String[]favoriteCities = new String[scanner.nextInt()];
for(int i=0;i<favoriteCities.length;i++){
favoriteCities[i]=scanner.nextLine();
}
for(String str:favoriteCities){
System.out.print(str+" ");
}
}
}
私の入力:
2
Delhi
出力:
Delhi