babyone
学会思考,学会做人
发贴: 49
积分: 0
|
于 2004-09-11 16:22
望大侠们莱讨论一下? 菜讨论是啥玩意?:-| 原来不是菜,而是莱,来:$
我在运行这个程序的时候,有一点让我百思不得其解: //============================================== // 程序名称:Zero.java // 程序目的:判断一个浮点数是否等于0 //============================================== import java.io.*; public class Zero { public static void main(String[] args) { float x; String sInput=new String(); System.out.println("请输入一个浮点数x="); InputStreamReader i=new InputStreamReader(System.in); BufferedReader b=new BufferedReader(i); try{ sInput = b.readLine(); }/*catch(IOException re)*/ catch(NumberFormatException e){ System.err.println(" 错误 "); } catch(IOException re){ System.err.println(" errors "); } x=Float.parseFloat(sInput); if (x==0f) System.out.println("浮点数x="+x+"等于0");
else System.out.println("浮点数x="+x+"不等于0"); } }
起先,我没有加入异常处理机制,编译器显示我出现一个IOException 异常,然后,我捕获了这个异常,可是,我自己原本的输出“错误”这两字根本没出现 ,编译器显示这样: java.lang.NumberFormatException: empty String at java.lang.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:986) at java.lang.Float.parseFloat(Float.java:204) at Zero.main(Zero.java:28) Exception in thread "main" Interactive Session Ended 于是,我又把编译器显示的这个异常捕获了,但是,还是没反应,请问,大侠们,这到底是属于怎么一回事啊 ?
why edited on 2004-09-11 22:44
|