我正在开发一个Java计算课程,我对这里导致错误的原因感到难过。我试图研究它,但我似乎很难找到这种错误。
错误:source_file.java:12:错误:找不到符号
double r = scan.nextDouble; ^
符号:变量nextDouble
位置:扫描仪类型的可变扫描
代码:
import java.io.*;
import static java.lang.System.*;
import java.util.Scanner;
class Rextester{
public static void main (String str[]) throws IOException {
Scanner scan = new Scanner(System.in);
System.out.println("Radius:");
double r = scan.nextDouble;
double circumference = (2 * 3.14 * r);
double area = (r * r * 3.14);
System.out.println("Circumference: " + circumference );
System.out.println("Area :" + area );
}
}
答案 0 :(得分:9)
方法需要括号
double r = scan.nextDouble();
^
答案 1 :(得分:3)
错误:source_file.java:12:错误:找不到符号double r = scan.nextDouble;
此错误表示您尝试访问变量scan
中保留的对象的公共元素。
您想要调用的不是公共变量,而是方法nextDouble()
因此,您必须使用scan.nextDouble();
来调用该方法。
答案 2 :(得分:1)
将您的行改为double r = scan.nextDouble();
而不是double r = scan.nextDouble
答案 3 :(得分:0)
将scan.nextDouble
更改为scan.nextDouble()
。这是一种方法,而不是领域。所以它需要括号。
答案 4 :(得分:0)
nextDouble()是一个不属性的方法
所以试试:
double r = scan.nextDouble();
尝试缩短代码:
public static void main (String str[]) throws IOException {
Scanner scan = new Scanner(System.in);
double r = scan.nextDouble();
System.out.println("Circumference: " + (2 * Math.PI * r));
System.out.println("Area :" + (r * r * Math.PI));
}
答案 5 :(得分:0)
除了
之外,还有一点注意事项scan.nextDouble();
你也应该使用
Math.PI
而不是3.14
固定代码:
import java.io.*;
import static java.lang.System.*;
import java.util.Scanner;
class Rextester{
public static void main (String str[]) throws IOException {
Scanner scan = new Scanner(System.in);
System.out.println("Radius:");
double r = scan.nextDouble();
double circumference = (2 * Math.PI * r);
double area = (r * r * Math.PI);
System.out.println("Circumference: " + circumference );
System.out.println("Area :" + area );
}
}