大家说说下面这程序输出结果是为什么是Volume is 0.0
Volume is 0.0?而不是Volume is 60
Volume is 6?
class Box {
double w;
double h;
double d;
Box(double w, double h, double d) {
}
double volume() {
return w * h * d;
}
}
class BoxDemo7 {
public static void main(String args[]) {
Box mybox1 = new Box(2,5,6);
Box mybox2 = new Box(1,2,3); double vol;
vol = mybox1.volume();
System.out.println("Volume is " + vol);
vol = mybox2.volume();
System.out.println("Volume is " + vol);
}
}
Volume is 0.0?而不是Volume is 60
Volume is 6?
class Box {
double w;
double h;
double d;
Box(double w, double h, double d) {
}
double volume() {
return w * h * d;
}
}
class BoxDemo7 {
public static void main(String args[]) {
Box mybox1 = new Box(2,5,6);
Box mybox2 = new Box(1,2,3); double vol;
vol = mybox1.volume();
System.out.println("Volume is " + vol);
vol = mybox2.volume();
System.out.println("Volume is " + vol);
}
}
你的构造函数根本就没有初始化!
double类型的类级变量默认值即是0.0,因此计算结果是0.0
double w;
double h;
double d; Box(double w, double h, double d) {
this.w = w;
this.h = h;
this.d = d;
} double volume() {
return w * h * d;
}
}
double w;
double h;
double d;
Box(double w, double h, double d) {
this.w=w;
this.h=h;
this.d=d;
}
double volume() {
return w * h * d;
}
}
class BoxDemo7 {
public static void main(String args[]) {
Box mybox1 = new Box(2,5,6);
Box mybox2 = new Box(1,2,3); double vol;
vol = mybox1.volume();
System.out.println("Volume is " + vol);
vol = mybox2.volume();
System.out.println("Volume is " + vol);
}
}