2016-08-15 62 views
0

所以我在運行時遇到了代碼問題(我剛剛開始,因此請幫助)。 NetBeans不會等待用戶輸入,因此它只是在輸出中顯示了一些奇怪的東西,在我的文本旁邊。NetBeans爲什麼不等待用戶輸入?

package javalol; 

/** 
* 
* @author sandy_000 
*/ 
public class JavaLol { 

/** 
* @param args the command line arguments 
*/ 
public static void main(String[] args) { 
    String Printf="Please enter your first name:"; 
    String Printl="Please enter your last name:"; 
    System.out.println(Printf); 
    String firstName=System.in.toString(); 
    System.out.println(Printl); 
    String lastName=System.in.toString(); 
    Friend friend=new Friend(firstName, lastName); 
    System.out.println("How are ya, "+friend+"?!"); 
} 

} 

輸出:

Please enter your first name: 
Please enter your last name: 
How are ya, Friend{[email protected], [email protected]}?! 
BUILD SUCCESSFUL (total time: 2 seconds) 
+1

您不想調用'System.in.toString()'(調用'PrintStream.toString()')需要一個'掃描儀'或'讀取器'幷包裝'System.in'來讀取。 –

回答

1

System.in不讀你的輸入,因爲它是一個標準的輸入變量。這就是爲什麼輸出是[email protected]

您必須使用Scanner來讀取輸入(請記住爲此導入java.util.Scanner)。

像這樣:

public static void main(String[] args) { 
    Scanner scan = new Scanner(System.in); 
    String Printf="Please enter your first name:"; 
    String Printl="Please enter your last name:"; 
    System.out.println(Printf); 
    String firstName=scan.next(); 
    System.out.println(Printl); 
    String lastName=scan.next(); 
    Friend friend=new Friend(firstName, lastName); 
    System.out.println("How are ya, "+friend+"?!"); 
    scan.close(); 
} 

爲了獲得良好的代碼風格,最好是寫printfprintl代替PrintfPrintl

如果您尚未覆蓋Friend類的toString()方法,則會在輸出中遇到另一個問題。因此,最好對變量使用getter方法,並將輸出更改爲:System.out.println("How are ya, " + friend.getFirstName + friend.getLastName() + "?!");

+0

我嘗試在我的第一個代碼(項目)中使用掃描儀,它帶回了一個錯誤(我認爲我想爲掃描儀創建另一個類,但我不知道該怎麼做,也沒有神經) 。此外,在那個項目中,我嘗試使用'System.in.read()',它在那裏工作。 'toString()'是我的問題的核心嗎?此外,如果是這樣的話,我該如何製作課程(我不是指:「如何將文件添加到我的項目中?」,我的意思是:「我如何知道要在課堂上編寫什麼代碼它的工作原理是什麼?「)?附:我是一個初學者,所以在代碼中輕鬆一下(解釋'.next()'函數)。 –

+0

爲了理解'.next()'函數,您應該學會閱讀[JavaDoc](https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html)。 'System.in.read()'沒有達到你的期望值(參見[這裏](http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html#read() )) – Blobonat