程序編譯但不運行
回答
你的問題是,你輸入一個字母到一個浮動字段。 在你的程序你要求用戶輸入一個float:
A = hope.nextFloat();
但如果你輸入字母「A」,你會得到一個例外,因爲「A」是不是浮動,這是一個字符串。
一個更簡單的爲您解決問題的辦法是,而不必所有的選項字段,你剛纔讀的用戶從像掃描儀進入輸入:
String choice = hope.next();
下一頁if語句,你檢查字符串選擇的值等於特定字母,例如
if (choice.equals("A")) {
number4 = (number1 + number2 + number3);
System.out.printf("Your results are:" + (number4));
}
而且您可以對其他選擇做同樣的事情。
我這樣做了,並編輯了代碼。程序現在工作很好。我應該實現一個簡單的解決方案。我仍然在學習,並在思考我必須做的事情。謝謝 – TitanC 2013-03-08 17:51:54
沒問題,不客氣。 – 2013-03-08 17:53:16
您正在獲取的錯誤意味着您正嘗試使用某種數據作爲另一種數據,在您的情況下,您可能正嘗試使用字符串作爲浮點數。
當使用掃描儀類中的下一個方法中的任何一個時,應首先確保有來自用戶的相應輸入。
爲了做到這一點,您需要使用有方法。
你的問題是,在使用Scanner.nextFloat()之前,你沒有檢查輸入是否是正確的浮點數。
你應該做這樣的事情:
if (hope.hasNextFloat())
{
// Code to execute when you have a proper float,
// which you can retrieve with hope.nextFloat()
}
else
{
// Code to execute when the user input is not a float
// Here you should treat it properly, maybe asking for new input
}
這應該足以爲你指明正確的方向。
此外,請查閱Scanner api文檔獲取更多詳細信息。
編輯
而且,你問用戶輸入字符(或字符串):「A」,「B」,等等,但你想給他們一個浮動比較。這是不對的,你應該將它們用細繩字符比較,像這樣:
if (hope.hasNextString())
{
if (hope.nextString().equals("A"))
{
// Code for option "A"
}
else if (hope.nextString().equals("B"))
{
// Code for option "B"
}
else ...
}
你可以使用一個開關那裏,但似乎你還不是很fammiliar用java,所以我就講這些,下一次。
- 1. Java程序將編譯但不運行
- 2. OpenCV的程序編譯,但在運行
- 3. eclipse編譯但不運行
- 4. 該程序將編譯但不能運行。其他程序運行
- 5. 程序編譯但不執行
- 6. 不能運行編譯的程序
- 7. 我的C程序編譯但不運行
- 8. 我的java程序已編譯但不會運行
- 9. 爲什麼我的程序編譯但不能運行?
- 10. mpi程序在c編譯但不運行
- 11. Cygwin的程序編譯但不運行的
- 12. 計劃用OpenGL編譯,但不運行
- 13. gradle編譯但不運行測試
- 14. netbeans在編譯時沒有生成類,但編譯時運行程序
- 15. 程序編譯,但是當我嘗試運行
- 16. c程序正在編譯和運行,但我在終端
- 17. 我的程序已編譯,但運行時出現此錯誤?
- 18. 爲什麼這個程序成功編譯但運行失敗?
- 19. 編譯和運行一個Qt程序
- 20. 如何編譯和運行Java程序?
- 21. 編譯並運行OpenMPI程序
- 22. 從Java運行cygwin編譯的程序
- 23. 編譯C++程序在Linux上運行
- 24. 編譯並運行該java程序
- 25. 在Netbeans中編譯C程序,但不能用cmcc編譯gcc
- 26. 使用SciTE編譯/編譯/運行C程序
- 27. 運行時編譯順序
- 28. 我可以編譯它,但我不能運行這個java程序
- 29. Windows 10可以使用gcc編譯C程序,但不會運行
- 30. 簡單的OpenCL程序編譯並運行,但輸出不正確
「*錯誤是InputMissmatch異常。*」=>異常應指向引發異常的行。這應該有助於縮小調查範圍。 – assylias 2013-03-08 17:23:20
你給了什麼投入?你輸入的是A,B,C還是0,1,2等? – 2013-03-08 17:23:23
現在是熟悉調試器的好時機。 – radai 2013-03-08 17:24:03