Re: [問題] 請問有關於判斷輸入是否為數字及重輸入

看板java作者 (swpoker)時間13年前 (2012/12/25 13:27), 編輯推噓1(103)
留言4則, 4人參與, 最新討論串3/3 (看更多)
我有點無聊 雖然工作還沒做完 XD 請見圖! http://ppt.cc/nwjS 雖然是JDK6 撇開JDK7的例外語法不看之外 這就是IDE錯誤的顯示阿 這也是我到現在都還是依賴IDE阿 常常都會忘記一些基本的語法錯誤(反正IDE會跟我說阿) 所以你的IDE是什麼呢 工欲善其事 , 必先利其器 我想書本裡面應該也有提到吧 還是你把IDE裡面的編譯錯誤醒示給關掉了? 然後 這是修改後的結果 http://ppt.cc/nyR8 (我比較懶惰~反正都是例外啦) 以上都是看看就好 XD ※ 引述《pugboy ()》之銘言: : 請問各位前輩,這是我在書本看到的練習 : 題目是:使用[介面]撰寫code完成 : 定義一個大學及研究所成績通過的介面,它有兩個資料成員 : ,分別是大學及格成績60及研究所及格分數70,定義一個方法成員,用來判斷是否及格 : ,再分別定義大學及研究所的類別來實作介面,在主程式中,先讓使用者輸入分數, : 再由電腦先是及格與否。 : 我的code如下: : package Book; : import java.io.*; : interface Score{ //介面 : final int POSTGRADUATE=70; //研究生及格分數 : final int UNDERGRADUSTE=60; //大學生及格分數 : public abstract String results(); //抽象判斷方法 : } : class CPostgraduate implements Score { //研究生類別實作介面 : private int cscore; : CPostgraduate(int cscore){ : this.cscore = cscore; : } : @Override : public String results(){ //實作判斷方法 : if(cscore >= POSTGRADUATE) : return "及格"; : else : return "不及格"; : } : } : class CUndergraduate implements Score { //大學生類別實作介面 : private int cscore; : CUndergraduate(int cscore){ : this.cscore = cscore; : } : @Override : public String results(){ //實做判斷介面 : if(cscore >= UNDERGRADUSTE) : return "及格"; : else : return "不及格"; : } : } : public class Goodself { //主程式 : public static void main(String[]args) { //main進入點 : BufferedReader keyin = new BufferedReader(new : InputStreamReader(System.in)); : System.out.println("請輸入:"); : try{ //問題點! 如果是數字就進入 : int input = Integer.parseInt(keyin.readLine()); : }catch(IOException | NumberFormatException e){//如果不是數字就拋出例外 : //且印出錯誤訊息 : System.out.println("不是數字"); : }finally{ : CPostgraduate p1 = new CPostgraduate(input); //印出總結果 : System.out.println("研究所成績,"+p1.results()); : CUndergraduate u1 = new CUndergraduate(input); : System.out.println("大學成績,"+u1.results()); : } : } : } : 我的問題是最後這個程式輸入不是數字的時候會拋出例外並印出("不是數字") : 但是輸入數字卻會跑出下列錯誤訊息: : Exception in thread "main" java.lang.RuntimeException: Uncompilable source : code - cannot find symbol : symbol: variable input : location: class Book.Goodself : at Book.Goodself.main(Goodself.java:48) : Java Result: 1 : 我想請問各位前輩是不是我try那邊有寫錯觀念不對呢? : 還有請問判斷輸入超過0~100這個範圍也要輸出錯誤訊息 以及 : 如果輸入錯誤可以讓使用者再重新輸入 : 這樣要如何改寫code呢? : 麻煩了 : 謝謝前輩 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.29.29.131

12/25 13:37, , 1F
有很多人會說 Notepad++ 是 IDE [默]
12/25 13:37, 1F

12/26 09:51, , 2F
外掛compiler和一些工具 也算是簡單的IDE了 (茶)
12/26 09:51, 2F

12/26 12:38, , 3F
好吧~我自己就是用ultraedit寫python (這裡是JAVA阿)
12/26 12:38, 3F

12/26 19:36, , 4F
還要外掛加工具就不算是Integrated了
12/26 19:36, 4F
文章代碼(AID): #1GsJbN6z (java)
討論串 (同標題文章)
文章代碼(AID): #1GsJbN6z (java)