Я столкнулся с ошибкой при создании объекта circle в моем коде драйвера

#java #oop

#java #ооп

Вопрос:

При создании программы класса circle. Я столкнулся с ошибкой в разделе моего драйвера. Ошибка заключается в исключении в потоке «main» java.lang.Ошибка: неразрешенные проблемы с компиляцией: LastLab не может быть преобразован к типу LastLab не может быть преобразован к типу в Task1.Mainclass.main(Mainclass.java: 18)

Это мой метод и код поля данных

 public class Circle {

    private final double PI = 3.14159;

    private double radius;

    public void Circle(double rad) {
        radius = rad;
    }

    public void setRadius(double rad) {
        radius = rad;
    }

    public double getRadius() {
        return radius;
    }

    public double getArea() {
        return PI * radius * radius;
    }

    public double getDiameter() {
        return radius * 2;
    }

    public double getCircumference() {
        return 2 * PI * radius;
    }
}
  

Это мой код драйвера

 public class Mainclass {

    public static void main(String... args) {
        // Create a Scanner object for keyboard input.
        Scanner keyboard = new Scanner(System.in);

        // Get the radius from user;
        System.out.print("Enter the radius of your circle:");
        double radius = keyboard.nextDouble();

        // Create a circle object.
        LastLab circle = new LastLab();

        // Get data from circle and display it
        System.out.println("The circle's area is: "   circle.getArea());
        System.out.println("The circle's diameter is: "   circle.getDiameter());
        System.out.println("The circle's circumference is: "   circle.getCircumference());
    }
}
  

Ответ №1:

 Circle circle = new Circle();
  

У вас неверное объявление: LastLab circle = new LastLab();

И вы неправильно объявили конструктор для Circle . Проверьте это:

 public class Circle {

    private static final double PI = 3.14159;
    private final double radius;

    public Circle(double radius) {
        this.radius = radius;
    }

    public double getRadius() {
        return radius;
    }

    public double getArea() {
        return PI * radius * radius;
    }

    public double getDiameter() {
        return radius * 2;
    }

    public double getCircumference() {
        return 2 * PI * radius;
    }
}

public class Mainclass {

    public static void main(String... args) {
        Scanner sca = new Scanner(System.in);
        System.out.print("Enter the radius of your circle: ");

        Circle circle = new Circle(sca.nextDouble());

        System.out.format(Locale.ENGLISH, "The circle's area is: %.2fn", circle.getArea());
        System.out.format(Locale.ENGLISH, "The circle's diameter is: %.2fn", circle.getDiameter());
        System.out.format(Locale.ENGLISH, "The circle's circumference is: %.2fn", circle.getCircumference());
    }
}