站内搜索: 请输入搜索关键词

当前页面: JAVA 编程资料牛鼻论坛Java & J2SE 技术区→我用java编一个程序:求任意三个数中的最大值.但它出错了.请懂的人可以帮我详细的解释原因吗?谢谢了

我用java编一个程序:求任意三个数中的最大值.但它出错了.请懂的人可以帮我详细的解释原因吗?谢谢了

发表新主题   回复此主题

第1楼 2007-08-14 16:22 水中影 写道:

我用java编一个程序:求任意三个数中的最大值.但它出错了.请懂的人可以帮我详细的解释原因吗?谢谢了

程序在编译(转为字节码文件)时没错,运行它时就出错.相关资料在附件里.

第2楼 2013-08-31 12:44 Robot :

我用java编一个程序:求任意三个数中的最大值.但它出错了.请懂的人可以帮我详细的解释原因吗?谢谢了 相关


第3楼 2007-08-14 20:24 天涯之心 写道:

LZ的JAVA源代码如下:
public class Max
{
public static void main(String[]args)
{
int x,y,z,m;
x=Integer.parseInt(args[1]);
y=Integer.parseInt(args[2]);
z=Integer.parseInt(args[2]);
if(x>y)
if(x>z)
m=x;
else m=z;
else
if(y>z)
m=y;
else m=z;
System.out.println("最大值="+m);
}
}
程序在编译(转为字节码文件)时的确没错。
代码中,args是一个String类型的参数数组。

LZ运行时出错的原因是:由于程序代码是使用了命令行参数,在没有进行异常处理时,必须给出三个参数才可以。否则就会出报下面的错误:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException:0 at Max.main(Max.java:6)
错误信息的含意就是:用非法索引访问数组时抛出的异常。

正确执行方法如下:
在命令行键入:java Max 1 2 3
运行结果:最大值=3
该回答在8月14日 17:26由回答者修改过

发表新主题   回复此主题