java代码在cmd中可以运行,但是在eclipse中运行出问题?代码如下:

interfaceFruit{publicvoideat();}classAppleimplementsFruit{publicvoideat(){System.out.... interface Fruit{
public void eat();
}
class Apple implements Fruit{
public void eat(){
System.out.println("吃苹果....");
}
}
class Orange implements Fruit{
public void eat(){
System.out.println("吃橘子....");
}
}
class Factory{
public static Fruit getFruit(String className){
Fruit f = null;
if("apple".equals(className)){
f = new Apple();
}
if("orange".equals(className)){
f = new Orange();
}return f;
}
}
public class InterDemo {
public static void main(String args[]){
Fruit f = Factory.getFruit(args[0]);
if(f!=null){
f.eat();
}
}
}
展开
 我来答
ckhenwudi
2012-09-28 · 超过16用户采纳过TA的回答
知道答主
回答量:71
采纳率:100%
帮助的人:44.2万
展开全部
数组越界了,因为在cmd运行的时候你有写入参数,参数就是保存在String args[]这个数组中,当你用eclipse运行时,少了参数的写入,所以String args[]数组为空,在Fruit f=Facroty.getFruit(args[0]);时就出错了
淘气的峰
2012-09-28 · TA获得超过1729个赞
知道小有建树答主
回答量:1046
采纳率:0%
帮助的人:868万
展开全部
运行的时候加参数
右键工程--Run As--Run Confi...--在Arguments的--Program Argument下面加参数再运行
比如加apple点击run会出现吃苹果
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liuhao8904
2012-09-28 · TA获得超过219个赞
知道小有建树答主
回答量:348
采纳率:0%
帮助的人:205万
展开全部
数组越界异常
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
boychn
2012-09-28 · 超过27用户采纳过TA的回答
知道答主
回答量:104
采纳率:0%
帮助的人:73万
展开全部
设置一下 运行参数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式