就是这个程序:
class Box
{
double width=10;
double height=10;
double depth=10;
Box()
{
System.out.println("Constructing Box");
}
double volume()
{
return width*height*depth;
}
}
class BoxDemo6
{
public static void main(String []args)
{
Box mybox1=new Box();
Box mybox2=new Box();
double vol;
vol=mybox1.volume();
System.out.println("Volume is"+vol);
vol=mybox2.volume();
System.out.println("Volume is "+vol );
}
}
这样编译能通过,结果:
Constructing Box
Constructing Box
Volume is1000.0
Volume is 1000.0
Press any key to continue...
但是,把这个程序改一下:
class Box
{
double width;
double height;
double depth;
width=10;height=10;depth=10;
Box()
{
System.out.println("Constructing Box");
}
double volume()
{
return width*height*depth;
}
}
class BoxDemo6
{
public static void main(String []args)
{
Box mybox1=new Box();
Box mybox2=new Box();
double vol;
vol=mybox1.volume();
System.out.println("Volume is"+vol);
vol=mybox2.volume();
System.out.println("Volume is "+vol );
}
}
编译就不能通过了,错误如下:
BoxDemo6.java:6: <identifier> expected
width=10;height=10;depth=10;
^
BoxDemo6.java:6: <identifier> expected
width=10;height=10;depth=10;
^
BoxDemo6.java:6: <identifier> expected
width=10;height=10;depth=10;
^
3 errors
谁知道这是怎么回事吗?谢谢!!
----------------解决方案--------------------------------------------------------
改称这样就可以了,因为你把负值语句写在外面了
class Box
{
double width;
double height;
double depth;
width=10;height=10;depth=10;
Box()
{
System.out.println("Constructing Box");
}
double volume()
{
return width*height*depth;
}
}
class BoxDemo6
{
public static void main(String []args)
{
Box mybox1=new Box();
Box mybox2=new Box();
double vol;
vol=mybox1.volume();
System.out.println("Volume is"+vol);
vol=mybox2.volume();
System.out.println("Volume is "+vol );
}
}
----------------解决方案--------------------------------------------------------
刚才粘贴错了,把你原来的弄上去咯,歹势
class Box
{
double width;
double height;
double depth;
Box()
{
width=10;
height=10;
depth=10;
System.out.println("Constructing Box");
}
double volume()
{
return width*height*depth;
}
}
class BoxDemo6
{
public static void main(String []args)
{
Box mybox1=new Box();
Box mybox2=new Box();
double vol;
vol=mybox1.volume();
System.out.println("Volume is"+vol);
vol=mybox2.volume();
System.out.println("Volume is "+vol );
}
}
----------------解决方案--------------------------------------------------------
因为你在主函数中调用vloume函数,生成对象同时并不知道你所赋的值,
但是在声明的时候赋值就不一样了。
----------------解决方案--------------------------------------------------------