调试我的第一个类调用。使用用户输入创建圆 给定的问题是创建两个Java类,一个使用构造函数方法,另一个使用main方法,调用第一个。

调试我的第一个类调用。使用用户输入创建圆 给定的问题是创建两个Java类,一个使用构造函数方法,另一个使用main方法,调用第一个。,java,class,methods,constructor,return,Java,Class,Methods,Constructor,Return,由于使用symbols symbol:method getArea()的“Error,not find symbol”,后半部分将无法编译 和位置 位置:类型圆的可变半径 教授让我检查printf的使用是否有问题,但这不是导致编译错误的原因,是吗? 我已经对类似的问题做了一些快速搜索,但是有相同错误的人遇到的很多问题都与他们的类和方法是私有的有关 // Class I'm trying to call from public class Circle { double radius;

由于使用symbols symbol:method getArea()的“Error,not find symbol”,后半部分将无法编译 和位置 位置:类型圆的可变半径

教授让我检查printf的使用是否有问题,但这不是导致编译错误的原因,是吗?

我已经对类似的问题做了一些快速搜索,但是有相同错误的人遇到的很多问题都与他们的类和方法是私有的有关

// Class I'm trying to call from

public class Circle
{
    double radius;
    public Circle(double r)
        {
        radius = r;
        }
    public Circle()
    {
        radius = 0.0;
    }
    public void setRadius(double r)
    {
       radius = r;
    }
    public double getRadius()
    {
        return radius;
    }
    public double area()
    {
        return Math.PI * Math.pow(radius, 2);
    }
    public double diameter()
    {
        return radius * 2.0;
    }
    public double circumference()
    {
        return Math.PI * radius * 2.0;
    }
}



// Seperate java program, used to call Circle.java

import java.util.Scanner;
public class CircleDemo
{
    public static void main(String[] args)
    {
        String input;
        double value;
        Circle radius = new Circle();
        System.out.printf("Enter the radius"+
                        "of a circle");
        Scanner keyboard = new Scanner(System.in);
        input = keyboard.nextLine();
        value = Double.parseDouble(input);
        radius.setRadius(value);
        System.out.printf("Area: " + radius.getArea()
        + "\n Diameter: " + radius.getDiameter() +
        "\nCircumference: " + radius.getCircumference());
        System.exit(0);
    }
}
错误输出:

CircleDemo.java:18: error: cannot find symbol
        area = radius.getArea();
                     ^
  symbol:   method getArea()
  location: variable radius of type Circle
CircleDemo.java:19: error: cannot find symbol
        diameter = radius.getDiameter();
                         ^
  symbol:   method getDiameter()
  location: variable radius of type Circle
CircleDemo.java:20: error: cannot find symbol
        circumference = radius.getCircumference();
                              ^
  symbol:   method getCircumference()
  location: variable radius of type Circle
3 errors

您正在查找错误的方法名称

您已经定义了方法
percentral()
,但是正在调用
getpercentral()
。您已经定义了方法
area()
,但是正在调用
getArea()


重命名
圆圈中的方法
,或者立即更改从
main

调用的方法,看起来好像调用了错误的方法

如果您试图在Java中使用getter和setter,那么实际上必须创建一个获取方法和一个设置方法。 如果只调用getDiameter(),Java不会自动为您提供值。您需要实际创建一个名为getDiameter()的方法,然后才能调用它


让我知道这是否解决了你的问题

您使用的方法不存在
getDiameter()
getArea()
GetPercentric()
不在类圈中声明。我想您正在尝试调用
直径()
面积()
周长()
。必须在类中用自己的名称声明getter和setter;它们不是自动创建的或类似的东西