Java 为Box类创建测试驱动程序并测试其所有方法
我不明白如何在这段代码中使用方法Java 为Box类创建测试驱动程序并测试其所有方法,java,oop,methods,Java,Oop,Methods,我不明白如何在这段代码中使用方法public boolean equalTo(框o)和public double volume()。我应该在这两种方法的主体中写些什么?在主要方法中如何使用它们?我不理解这两种方法。如何创建boolean equalTo()方法和double volume()方法,以及如何测试它们?一个equalTo方法需要比较两个对象的属性: public static void main(String[] args) { double w;
public boolean equalTo(框o)
和public double volume()
。我应该在这两种方法的主体中写些什么?在主要方法中如何使用它们?我不理解这两种方法。如何创建boolean equalTo()
方法和double volume()
方法,以及如何测试它们?一个equalTo
方法需要比较两个对象的属性:
public static void main(String[] args) {
double w;
double h;
double d;
Scanner input = new Scanner(System.in);
System.out.print ("Enter the width of your box:");
w= input.nextDouble();
System.out.print ("Enter the height of your box:");
h= input.nextDouble();
System.out.print ("Enter the depth of your box:");
d= input.nextDouble();
Box boxOne = new Box(w, h, d);
System.out.println(boxOne.toString());
boxOne.setDim(w, h, d);
}
}
class Box
{
private double width = 1.0;
private double height = 1.0;
private double depth = 1.0;
public Box (double w, double h, double d)
{
setWidth(w);
setHeight(h);
setDepth(d);
}
public void setWidth(double w)
{
if(w > 0)
{
width = w;
}
else
{
width = 1.0;
}
}
public void setHeight(double h)
{
if(h > 0)
{
height = h;
}
else
{
height = 1.0;
}
}
public void setDepth(double d)
{
if(d > 0)
{
depth = d;
}
else
{
depth = 1.0;
}
}
public void setDim(double width, double height, double depth)
{
double volume=width*height*depth;
System.out.println("The volume of the box is "+volume);
}
public double volume ()
{
}
public String getWidth()
{
return String.format("%f",width);
}
public String getHeight()
{
return String.format("%f",height);
}
public String getDepth()
{
return String.format("%f",depth);
}
public String toString()
{
return String.format("Width is %s.\nHeight is %s.\nDepth is %s.", getWidth(), getHeight(),getDepth());
}
public boolean equalTo (Box o)
{
}
}
体积法在我看来就像简单的数学:
public boolean equalTo (Box o){
boolean widthEquals = o.width == this.width;
// other checks
return widthEquals && heightEquals && depthEquals;
}
测试这些方法需要您设置一个测试框架,比如JUnit,这在很多教程中都有介绍。例如:
测试volume方法将如下所示:
public double volume() {
return this.width * this.height * this.depth;
}
是两种完全不同的编程语言。因此,当您对
Java
有疑问时,不应该标记JavaScript
。调用equalTo>equals
,它可以稍后由Java自动使用,这是从对象类继承的方法
@Test
public void testVolume() {
Box box = new Box(1.0, 2.0, 3.0);
double expectedVolume = 1.0 * 2.0 * 3.0;
assertEquals(expectedVolume, box.volume());
}