我正在尝试创建一个具有重载构造函数的Rectangle类。第一个构造函数不需要任何参数。第二个参数有两个参数,一个参数为长度,第二个参数为宽度。成员变量存储矩形的长度和宽度,成员方法分配和检索长度和宽度,并返回矩形的面积和周长。需要通过编写适当的客户端代码来测试该类。问题是代码中有许多语法错误,我不知道该如何解决。
公共类矩形{
public static void main(String[] args) {
private int length;
private int width;
Rectangle(){
this.length=1; // assuming default length=1
this.width=1; // assuming default width=1
}
Rectangle(int length, int width){
this.length=length;
this.width=width;
}
int area(){
return length*width;
}
int perimeter(){
return 2*(length+width);
}
}
// test class
public class TestRectangle{
public static void main(String args[]){
Rectangle r1= new Rectangle();
System.out.println("Area of r1: "+ r1.area());
Rectangle r2= new Rectangle(2,3);
System.out.println("Perimetr of r2: "+ r2.perimeter());
}
}
}
}
答案 0 :(得分:0)
您实际上并不需要两个类,但是您不能在这样的方法中定义一个类。
从一个类开始,然后,如果要分开它们,则需要两个文件
public class Rectangle {
private int length;
private int width;
Rectangle() {
this.length = 1; // assuming default length=1
this.width = 1; // assuming default width=1
}
Rectangle(int length, int width) {
this.length = length;
this.width = width;
}
int area() {
return length * width;
}
int perimeter() {
return 2 * (length + width);
}
public static void main(String args[]) {
Rectangle r1 = new Rectangle();
System.out.println("Area of r1: " + r1.area());
Rectangle r2 = new Rectangle(2, 3);
System.out.println("Perimetr of r2: " + r2.perimeter());
}
}
编写主方法不是正确的测试。为此,您应该至少使用Junit