刚学java,遇到一个奇怪的问题.求救!!!(50分)

  • 主题发起人 主题发起人 fu_qi_ming
  • 开始时间 开始时间
F

fu_qi_ming

Unregistered / Unconfirmed
GUEST, unregistred user!
代码如下:
class java02
{
public static void main(String[] args)
{
int n,ch,d=0;
for (n=0;(ch=System.in.read())!=-1;n++)
{
if(ch>='0' &&
ch<='9') d++;
}
System.out.println("/n"+n+"个字符");
System.out.println(d+"个数字");
}
}
编译后报错:
java02.java:6: unreported exception java.io.IOException;
must be caught or declared to be thrown
for (n=0;(ch=System.in.read())!=-1;n++)
^
1 error
 
加上try..catch捕获异常就行,见下面代码
class java02
{
public static void main(String[] args)
{
try{ int n,ch,d=0;
for (n=0;(ch=System.in.read())!=-1;n++)
{
if(ch>='0' &amp;&amp;
ch<='9') d++;
}
System.out.println("/n"+n+"个字符");
System.out.println(d+"个数字");
}}catch(Exception e){}
}
 
可以使用下面方法
class java02
{
public static void main(String[] args) throws java.io.IOException
{
int n,ch,d=0;
for (n=0;(ch=System.in.read())!=-1;n++)
{
if(ch>='0' &amp;&amp;
ch<='9') d++;
}
System.out.println("/n"+n+"个字符");
System.out.println(d+"个数字");
}
}
 
这样虽然可以不报错!
但是[red]出错的原因[/red]是什么??
而且执行的结果也不对.
 
你直接把你的目的说出来,我写个代码贴出来给你了
 
有可能出现异常情况的代码,都必须进行异常处理
要么捕捉异常(try/catch),要么就指出该程序可能抛出的异常throws
都必须在程序中指明.
 
我这个程序的目的是:计算键盘敲入的字符数和字符为数字的个数.
 
输入有可能产生IO异常,所以要进行异常捕捉或指出可能抛出的异常
 
多人接受答案了。
 

Similar threads

回复
13
查看
247
夜游神宾
D
回复
7
查看
270
dingfuhai
D
W
回复
5
查看
318
wait_for_love
W
后退
顶部