java - 调试我的第一堂课。使用用户输入创建一个圆圈
问题描述
给定的问题是创建两个 Java 类,一个带有构造方法,另一个带有 main 方法,调用第一个。
后半部分由于“错误,找不到符号”而无法编译,符号符号:方法 getArea() 和位置位置:Circle 类型的变量半径
教授说要检查我对 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
解决方案
您正在寻找错误的方法名称。
您已经定义了方法circumference()
,但正在调用getCircumference()
. 您已经定义了方法area()
,但正在调用getArea()
.
重命名 中的方法Circle
,或更改从 中调用的方法main
。
推荐阅读
- laravel - Laravel API 资源 whenLoaded 无法与其他值一起正常工作
- java - Spring boot 中的字段是否有“必须为数字”的验证符号?
- c# - Unity:将 Desktop Input.GetButtonDown("Jump") 更改为 Mobile Button Press
- google-cloud-build - 错误:(gcloud.builds.submit)HTTPError 403:使用构建配置文件的权限不足
- windows - 在 WIN32 系统中,如何在不使用 LARGE_INTEGER 数据的情况下将重叠结构中的文件指针递增 n 字节?
- api-key - Carrot2 - 输入私人 PubMed api 密钥
- azure-devops - Azure Devops 服务访问仅限于区域
- elasticsearch - 弹性搜索中多个字段的单词搜索
- c# - 如何在 IDictionary 中制作动态值
- android - 不支持 Android 11(R) 的 NDK 构建