10 個の文字列を含む文字列配列をインスタンス化しました。私は基本的に、10 個の文字列がすべて終了するまで、またはユーザーが「q」を入力して終了するまで、サブジェクト名を入力するようにユーザーに求めたいと考えています。これが発生したら、String 配列要素を printArray メソッドで出力する必要があります。これは私がこれまでに持っているものですが、「The Array Elements:」の後に各値に対して「null」値が表示され、合計 10 個の文字列が作成されます。これは、10 回すべてではなく数回入力した後に「q」を入力すると発生します。「null」値を取り除きたいのですが、ユーザーが「q」を入力しない場合、10 番目のエントリの後に、10 個の配列を表示する必要があります。
{
// Instantiate a String array that can contain 10 items.
String[] array = new String[10];
// Read names of subjects into this array
// and count how many have been read in.
// There may be fewer than 10.
Scanner input = new Scanner(System.in);
System.out.println("Please enter a subject name or enter q to quit: ");
String subject = input.nextLine();
int i=0;
while (!"q".equals(subject))
{
array[i]=subject;
i++;
System.out.println("Please enter a subject name or enter q to quit: ");
subject = input.nextLine();
}
input.close();
System.out.println("The Array Elements:");
// Call printArray to print the names in the array.
printArray(array);
}
/**
* Method printArray prints the String values
* in a partially-filled array, one per line. Only the
* significant items in the array should be printed.
*/
public static void printArray(String[] args)
{
for(String val : args)
System.out.println(val);
}