我试图创建一个程序读取用户输入并存储它,然后计算多边形的面积
当我尝试编译它时,它给了我一个错误至极约.toSting是非静态非静态方法toString不能从静态上下文引用
import java.util.Scanner;
class regularpoTest {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
boolean finished = false;
double s;
double n;
double area;
//starts loop to record data
do {
s =0;
n =0;
System.out.println("Enter the side length, or anything else to quit: ");
s = in.nextDouble();
in.nextLine();
if (in.hasNextDouble()) {
System.out.println("Enter number of sides");
n = in.nextDouble();
area = (s*s*n)/(4*Math.tan(Math.PI/n));
} else {
finished = true;
}
} while(!finished);
//This prints out the student details
System.out.println(regularpo.toString());
}
}
public class regularpo {
private double side;
private double numberOf;
private double area;
public regularpo(double side, double numberOf){
side = 0;
numberOf = 0;
area = 0;
}
public double getSide(){
return side;
}
public double getNumberOf(){
return numberOf;
}
public String toString(){
return ("area = " + area+ " side length "+side+ " number of sides "+numberOf);
}
}
你错过了regularpo的一个实例。 – Eric
按照惯例,类名以大写字母开头。 –
'System.out.println(regularpo.toString());'显然'regularpo'是一个类名,而不是对象引用。 'toString'是一个实例方法,这意味着你必须提供'regularpo'的*实例*来使用它。而且你似乎没有在任何地方创建'regularpo'的实例,所以没有别的可用的。 –