我正在尝试做作业,但我似乎遇到了错误。我必须构建一个矩形并返回周长和面积,矩形默认高度和宽度为 1。在我编译它之前一切看起来都很好,然后我被告知 main 方法必须是静态的。当我将主方法设为静态时,我会收到“无法从静态上下文引用的非静态变量”错误。关于我需要做些什么来解决它的任何想法?
package rectangle;
/**
*
* @author james
*/
public class Rectangle {
/** Main Method */
public static void main(String[] args) {
//Create a rectangle with width and height
SimpleRectangle rectangle1 = new SimpleRectangle();
System.out.println("The width of rectangle 1 is " +
rectangle1.width + " and the height is " +
rectangle1.height);
System.out.println("The area of rectangle 1 is " +
rectangle1.getArea() + " and the perimeter is " +
rectangle1.getPerimeter());
//Create a rectangle with width of 4 and height of 40
SimpleRectangle rectangle2 = new SimpleRectangle(4, 40);
System.out.println("The width of rectangle 2 is " +
rectangle2.width + " and the height is " +
rectangle2.height);
System.out.println("The area of rectangle 2 is " +
rectangle2.getArea() + " and the perimeter is "
+ rectangle2.getPerimeter());
}
public class SimpleRectangle {
double width;
double height;
SimpleRectangle() {
width = 1;
height = 1;
}
//Construct a rectangle with a specified width and height
SimpleRectangle(double newWidth, double newHeight) {
width = newWidth;
height = newHeight;
}
//Return the area of the rectangle
double getArea() {
return width * height;
}
//Return the perimeter of a rectangle
double getPerimeter() {
return (2 * width) * (2 * height);
}
}
}