MAIN主线程出错要怎么改?用eclipse编译的

classFinal{intwidth,height;publicstaticfinaldoublearea(intwidth,intheight){returnwidt... class Final {
int width,height;
public static final double area(int width,int height){
return width*height;
}
public static void main(String[] s) {
int i,j;
double f;
i=Integer.parseInt(s[0]);
j=Integer.parseInt(s[1]);
f=Final.area(i, j);
System.out.println("Area="+f);
}

}
错误是:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at Final.main(Final.java:10)
在DOS命令下 我所有的程序都不能运行啊 但同样的在eclipse中可以运行
错误是:Exception in thread"main"java.lang.NOClassDefFoundError: Final
用eclipse编译时要怎么改啊
展开
 我来答
zicozhang
2008-02-06 · TA获得超过1621个赞
知道小有建树答主
回答量:788
采纳率:0%
帮助的人:0
展开全部
由于你的程序要求输入参数,而eclipse默认是没有参数的。因此会出现ArrayIndexOutOfBoundsException错误,改正方法有两种:
1.如果在Dos下运行:先设置好CLASSPATH环境变量(网上搜一下如何配置就行了)才不会出现NOClassDefFoundError错误,然后再去运行程序java Final 1,2 .(其中1,2为参数)
2.如果在eclipse(以英文版为例,中文对应之)下运行:右键点击你的文件。然后选择带箭头的"Run...",在出来的对话框中选择“Arguments”标签,在“Program Arguments”里面输入你的运行参数(比如上面的 1,2).设置好后,就可以运行了
liyunqi007
2008-02-06 · TA获得超过205个赞
知道答主
回答量:55
采纳率:0%
帮助的人:61.9万
展开全部
你的数组读取越界了,你不知道吗?
问题出在第10行:
j=Integer.parseInt(s[1]);

由于你没有传第二个参数给main方法,当然运行不下去啊。
最好的编译方法就是到DOS命令行也运行,
并传两个数字参数就不会报错了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式