作者swpoker (swpoker)
看板java
标题Re: [问题] 请问有关於判断输入是否为数字及重输入
时间Tue Dec 25 13:27:48 2012
我有点无聊
虽然工作还没做完 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
1F:推 PsMonkey:有很多人会说 Notepad++ 是 IDE [默] 12/25 13:37
2F:→ luoqr:外挂compiler和一些工具 也算是简单的IDE了 (茶) 12/26 09:51
3F:→ swpoker:好吧~我自己就是用ultraedit写python (这里是JAVA阿) 12/26 12:38
4F:→ ssccg:还要外挂加工具就不算是Integrated了 12/26 19:36