-1

エスケープ シーケンスを使用して行をスキップしようとしています。コードは次のようになります。

System.out.printf("Number of students: " + numberOfStudents "\n");

しかし、「トークン ""\n"" の構文エラーです。このトークンを削除してください」というエラーが表示されます。

しようとすると同じエラーが発生します

System.out.printf("Number of students: %c", numberOfStudents "\n");

このコードは機能しますが、何が間違っていたのか理解しようとしています

System.out.printf("Number of students: %d \n", numberOfStudents );

変数を参照した後にエスケープ シーケンスを使用しない規則はありますか?

ありがとう

4

2 に答える 2

2

これ:

numberOfStudents "\n"

無効です。そこには、識別子と文字列リテラルの 2 つのトークンがあり、その間にスペースが 1 つ入っています。それは有効ではありません。連結を使用できます:

System.out.printf("Number of students: " + numberOfStudents + "\n");

必要に応じて...しかし、そのように文字列リテラルを最後に置くことはできません。

とにかく、最終的なコードが最もクリーンであることをお勧めしますが、改行の前にスペースを削除します。もう 1 つの方法はprintln、改行を入れることです。

System.out.println("Number of students: " + numberOfStudents);
于 2013-07-17T21:50:53.293 に答える
1

+と の間numberOfStudentsを忘れただけです"\n":

System.out.printf("Number of students: " + numberOfStudents + "\n");

+数学で言わないように、連結したいすべてのものの間に演算子が必要です1 + 2 3

于 2013-07-17T21:50:39.097 に答える