これはあなたのプログラムがどのように見えるかであるように見える:
y=3<newline>
x+5<newline>
しかしようにあなたはそれを見てみたい:問題の改行はスキャナと標準の本質的にバッファされ、自然を使用してから来
y=3x+5
入力。スキャナが数値の終わりに達したことをスキャナが認識するためには、空白(スペース、改行など)が必要です。そして、プログラムがSTDINからの入力を受け取るためには、intの文字長はバッファーサイズより大きいか、Enterキーを押す必要があります。
TL; DR - あなたが望むものは、実行するのが非常に難しく、多分不可能かもしれません。基本的な標準を使用しています。本当に出力が必要な場合は、おそらくコンソールと対話するためのライブラリを見つける必要があります。それを使用してください。
、あなたの入力をリフレームしかし、もし、あなたがほとんどのように良いものを取得することができるかもしれません:
enter intercept: 5<enter>
enter slope: 3<enter>
y=3x+5
あなたのコードを、その出力を生成するように変更:
System.out.print("enter intercept:");
while(!scan.hasNextInt()) scan.next();
m = scan.nextInt();
System.out.print("enter slope: ");
while(!scan.hasNextInt()) scan.next();
b = scan.nextInt();
System.out.println("y="+m+"x+"+b);
あなたがそれを必要な理由そう? –
このような入力をしても問題ありません - 3 4? –
tom