需要帮助乘以双vars

时间:2014-02-21 17:57:48

标签: java

如果有人可以用我的代码帮助我,我就是一种新的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;

希望你能提供帮助,谢谢

2 个答案:

答案 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;

此类表达式从左到右进行评估,43都是整数,结果为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.
     }
}