我在学校的Compsci课程中,我们的任务之一是使用子程序让用户输入圆的半径,然后返回圆周和该圆的面积。这是我做的代码。
public class AreaAndCircumference {
public static void main(String[] args){
System.out.println("Enter the radius of a circle that you want to find the circumference and area of: ");
double radius = TextIO.getlnDouble();
double pi = 3.14159657;
System.out.println("The circumference is" + circumference);
System.out.println("The area is" + area);
}
public static double cirumference(double radius, double pi){
return 2 * pi * radius;
}
public static double area(double radius, double pi){
return pi * (radius * radius);
}
}
我有三个问题:
1)当我尝试编译代码时,我遇到了两个错误:
a. AreaAndCircumference.java:8: error: cannot find symbol
System.out.println("The circumference is" + circumference);
sumbol: variable circumference
location: class AreaAndCircumference
b. AreaAndCircumference.java:9: error: cannot find symbol
System.out.println("The area is" + area);
sumbol: variable area
location: class AreaAndCircumference
这是因为它无法调用这两个变量吗?我该怎么做才能解决这个问题?
2)以下是他为我们提供的另一个程序的示例代码:
public class MetricConverter {
public static void main(String[] args) {
System.out.println("Welcome to the Metric Converter");
System.out.print("Enter your height in inches: ");
double heightInInches = TextIO.getlnDouble();
System.out.println("Your height in cm is " + inchesToCm(heightInInches));
}
public static double inchesToCm(double inches) {
return 2.54 * inches;
}
}
是什么原因导致我的编译无法编译?
3)我对“公共类静态双重区域”或类别之外的括号中的内容感到困惑。你把你引用的变量放在那里吗?
答案 0 :(得分:3)
圆周和面积是类AreaAndCircumference
的方法,方法通过在其中加上括号和参数来调用
.Hence,改变这个
System.out.println("The circumference is" + circumference);
System.out.println("The area is" + area);
到
System.out.println("The circumference is" + circumference(radius,pi));//you are missing paranethesis here
System.out.println("The area is" + area(radius,pi));//here to
了解方法的好地方,参数是here