看起來這是你的程序的外觀:
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