Javaの次の単純なコードは、私が理解できない奇妙なやり方で多少動作します。うまく動作しない単純なJavaコード
final public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
System.out.print("\nHow many names? ");
int n = sc.nextInt();
String[] a = new String[n];
a[0] = sc.nextLine(); //This line serves no purpose at all. It's useless and should be removed.
for (int i=0; i<n; i++)
{
System.out.print("\nEnter the name:->");
a[i] = sc.nextLine(); //request for input only inside the loop.
}
for (int i=0; i<a.length; i++)
{
System.out.println(a[i]);
}
}
}
上全く問題にうまく機能し、コンソール上にアレイ[]に入力名の数を表示するが、私はライン[0] = を除去されsc.nextLine(); //この行はまったく役に立たない。それは役に立たず、削除する必要があります。の場合、最初に多数のユーザーが表示されます。のは、そこには問題はありませんが、ループが反復処理を開始したとき、それはメッセージの名前を入力して名前と初めて聞いてきます。3.を言わせて: - >が二回
表示され、出力がものになるだろう以下に示すように。
名前はいくつですか? 3
名前を入力します。 - >Don't allow to enter the name here.
名前を入力します。 - >タイガー
名前を入力します。 - >ザピター
タイガー
ピター
「名前はいくつですか?」と入力していますが、入力する名前。どうして?上記のコードがうまく機能していることを再び
注意。この問題は、上記の段落で太字で指定された行がコメントアウトされている場合にのみ発生します。
「何か不明なことが起こっています。」は有用な質問タイトルではありません。おそらくあなたはより具体的に編集することができます... –