java不知道这个问题怎么解决

[复制链接]
查看11 | 回复6 | 2011-3-29 07:29:11 | 显示全部楼层 |阅读模式
public class BoxColor extends Box{
int color;

BoxColor(double c,double k,double g,int color){
super(c,k,g);
this.color=color;
}

void xianshiyanse(){
switch (color){
case 1:
System.out.println(\"绿色\");
break;
case 2:
System.out.println(\"蓝色\");
break;
default:
System.out.println(\"未知\");
}

}
}


public class Demo {

public static void main(String args[]){
BoxColor mybox1=new BoxColor(1,2,3,2);
BoxColor mybox2=new BoxColor(5,6,3,1);
BoxColor mybox3=new BoxColor(5,8,2,7);
String a;
System.out.println(\"箱子1的体积是\" mybox1.tiji() \"颜色是:\" mybox1.xianshiyanse());

}
}

还有一个超类那个没问题我就省略啦,主要是这个地方\"mybox1.xianshiyanse()\"
错误提示:The operator is undefined for the argument type(s) String, void。

不知道怎么修改下才可以,请高手帮忙,谢谢喽~
回复

使用道具 举报

千问 | 2011-3-29 07:29:11 | 显示全部楼层
<pre id=\"best-answer-content\" class=\"reply-text mb10\">把你的输出语句变一下:
System.out.println(\"箱子1的体积是\" mybox1.tiji() \"颜色是:\" mybox1.xianshiyanse());


变成:
System.out.print(\"箱子1的体积是\" mybox1.tiji() \"颜色是:\");
mybox1.xianshiyanse());

或者把
void xianshiyanse(){
switch (color){
case 1:
System.out.println(\"绿色\");
break;
case 2:
System.out.println(\"蓝色\");
break;
default:
System.out.println(\"未知\");
}

}
变成:
String xianshiyanse(){
switch (color){
case 1:
return \"绿色\";
break;
case 2:
return \"蓝色\";
break;
default:
return \"未知\";
}
return null;
}

















<h4 class=\"ask\">追问





<pre class=\"replyask-text\" id=\"content-2981652\">为什么另起一行就可以显示了= =
请解答下
回复

使用道具 举报

千问 | 2011-3-29 07:29:11 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-2981917\">先解释上面的:

你的方法是没有返回值的方法,但是你
xianshiyanse() 里面已经有
System.out.println(\"xxxx\"); 了
所以 你只需要调用这个方法,就可以了~

System.out.println(\"箱子1的体积是\" mybox1.tiji() \"颜色是:\" mybox1.xianshiyanse());
里面输出的内容是字符串拼接出来的, void 无返回值的函数是不可以拼接字符串的

第二种就是把那个方法改为 有返回值的,并且返回值是String 类型的

这样就可以进行字符串拼接~~
回复

使用道具 举报

千问 | 2011-3-29 07:29:11 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-2982592\">第二种我试了下可以,但是显示结果不是预期的
显示:
箱子1的体积是6.0颜色是:蓝色
箱子1的体积是90.0颜色是:蓝色
箱子1的体积是80.0颜色是:蓝色

都是蓝色,不知道问题出在哪= =麻烦你了(一会我多加点分,呵呵)
回复

使用道具 举报

千问 | 2011-3-29 07:29:11 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-2983332\">你是不是 写错了?仔细检查下
是不是都是mybox1.xianshiyanse()了?
回复

使用道具 举报

千问 | 2011-3-29 07:29:11 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-2983862\">没错啊,我觉得color那出问题了,但是不知道为什么它的值都是2。.
回复

使用道具 举报

千问 | 2011-3-29 07:29:11 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-2981295\">我试着改成有返回值的,但是不会改……
你能改下嘛?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行