看看这个怎么错了???

taciya 2002-02-13 02:47:35
class shape{}
class circle extends shape{}
class square extends shape{}
class triangle extends shape{}
public class shapes{
public static shape randshape(int i){
shape switch(i%3){
default:
case 0:return circle;
case 1:return square;
case 2:return triangle;
}
}
public static void main(String args[]){
shape[] s=new shape();
for(int i=0;i<s.length;i++)
s[i]=randshape[i];
}
}
错误信息是
method does not return a value
...全文
4 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
syl79 2002-02-13
改了一下,看看会不会有帮助:
class shape{}
class circle extends shape{}
class square extends shape{}
class triangle extends shape{}
public class shapes
{
static final int len = 5;
public static shape randshape(int i)
{
switch(i%3) {
default:
case 0:return new circle ();
case 1:return new square ();
case 2:return new triangle ();
}
}
public static void main(String args[])
{
shape s[]=new shape [len];
for(int i=0;i<len;i++) {
s[i]=new shape();
s[i]=randshape(i);
}
}
}
回复
forest 2002-02-13
default是可以放在前面的。
错误在于default行没有返回shape对象。
回复
chinajava 2002-02-13
default应该放在最后吧
放在最后试试
回复
发帖
非技术区
创建于2007-09-28

2.3w+

社区成员

Java 非技术区
申请成为版主
帖子事件
创建了帖子
2002-02-13 02:47
社区公告
暂无公告