日期:2014-05-19  浏览次数:20620 次

大家帮我看看我写的程序,为什么运行结果里面会有个false呢?运行结果是:家好!我是Jerry,大家好!我是Tom,孬蛋,我在这呢,呵呵,说你是孬蛋你就是孬蛋!
public class Game{
public static void main(String[]args)
{
mouse m=new mouse();
cat c=new cat();
m.name="Jerry";
c.name="Tom";
m.run();
c.chase();
Guocheng g=new Guocheng() ;
System.out.print(g.Dong(4, 5));//千万不要写成 Dong(4,5)
} //或者Guocheng.Dong(4,5)
} //因为类也是封装,封装进行访问用对象.对象成员的格式。
class mouse
{
String name;
void run()
{
System .out.print("大家好!我是"+name+",");
}
}
class cat
{
String name;
void chase()
{
System.out.print("大家好!我是"+name+",");
}
}
class Guocheng{
boolean Dong(int a,int b){
if(a>b){
System.out.print("孬蛋,你抓不到我!");
}
else
{if(a<b){
System.out.print("孬蛋,我在这呢,呵呵,说你是孬蛋你就是孬蛋!");
}
else
System.out.print("呜呜...我被孬蛋抓住了");
}
return(a>b);
}
}

------解决方案--------------------
System.out.print(g.Dong(4, 5));//千万不要写成 Dong(4,5)
改成g.Dong(4, 5);
就可以了啊,

因为g.Dong(4, 5)的返回值是false
System.out.print(g.Dong(4, 5));
就等于先System.out.print("孬蛋,我在这呢,呵呵,说你是孬蛋你就是孬蛋!"); 
再System.out.print(false);