Я пытаюсь создать программу, которая читает ввод пользователя и сохраняет его, а затем вычисляет площадь многоугольника
Когда я пытаюсь скомпилировать его, он дает мне один ошибка которым является один о .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' в любом месте, поэтому больше нечего использовать. –