如果有人可以用我的代码帮助我,我就是一种新的Java编码,所以看看:
//ejercicio 3
public class esfera {
public static void calculo (String [] args) {
System.out.println("Inserte el radio de la esfera");
String radio=In.readLine();
double PI = 3.1415926;
double AREA = PI*radio*radio;
double VOLU = 4/3*PI*radio*radio*radio;
System.out.println("El área de su circulo es " + AREA);
System.out.println("Y su volumen es " + VOLU );
}
}
我在编译时遇到这些错误:
esfera.java:8: cannot find symbol
symbol : variable In
location: class esfera
String radio=In.readLine();
esfera.java:11: operator * cannot be applied to double,java.lang.String
double AREA = PI*radio*radio;
esfera.java:12: operator * cannot be applied to double,java.lang.String
double VOLU = 4/3*PI*radio*radio*radio;
希望你能提供帮助,谢谢
答案 0 :(得分:1)
首先应该用以下结果解析结果:
double radio = In.nextDouble(line);
我不完全确定In
来自哪里。我认为这是一个扫描仪(Scanner In = new Scanner(System.in);
)
而不是radio = In.read();
此外,代码将失败,因为您表达:
double VOLU = 4/3*PI*radio*radio*radio;
此类表达式从左到右进行评估,4
和3
都是整数,结果为1。
您可以通过指定:
来解决此问题double VOLU = 4.0/3.0*PI*radio*radio*radio;
答案 1 :(得分:0)
如果您正在使用简单的计算器,我建议使用Scanner类从控制台/键盘读取输入。
import java.util.Scanner;
public class circle {
public static void main(String[] args){
double radius;
System.out.println("Please input the radius.");
Scanner input = new Scanner(System.in);
radius = Double.parseDouble(input.nextLine());
// at this point radius is a double and you can put the rest of your code under here.
}
}