基本的java参数传递,方法内的计算

时间:2013-12-04 15:03:37

标签: java

我初始化了一个变量值和一个输入的值.. netbeans给了我错误..任何人都可以用我的代码指出问题

public class JavaApplication1 {

    /**
     * @param args the command line arguments
     */
        static Scanner sc = new Scanner(System.in);
        static double maxLoad = 500;
        static double currLoad;
        static double loadInput = 0;
    public static void main(String[] args) {

        String cpNumber;


        System.out.println("Enter Cellphone Number");
        cpNumber = sc.nextLine();
        System.out.println("Enter load to be bought");
        loadInput = sc.nextDouble();

        computeLoad(maxLoad, loadInput);
        System.out.println(currLoad);
    }

    public static double computeLoad(double x, double y) {
        double z = 0;
        x - y = z;
    return z;
    }
}

我有另一个错误。它一直返回0 ..

5 个答案:

答案 0 :(得分:2)

它应该是:

public static double computeLoad(double x, double y) {
        return x- y;
    }

答案 1 :(得分:2)

您的代码存在一些问题:

1)分配变量时,将变量放在左侧,将表达式放在右侧

2)目前,computeLoad的返回值被忽略。即使您修复了要编译的函数,它也无法正常工作,因为您打印的currLoad将保持初始化为其默认值。

您有两种方法可以解决此问题:

  • 将通话更改为currLoad = computeLoad(maxLoad, loadInput);
  • computeLoad更改为void,并在此处指定currLoad

答案 2 :(得分:1)

x - y = z;

这是错误的。作业必须从左到右。 喜欢:z = x - y;

答案 3 :(得分:1)

x - y = z;不是有效的Java语句。赋值运算符(=)计算右操作数(可以是任何类型的表达式,方法调用,文字和很快)并将其分配给左操作数(必须是标识符)。

z = x - y;是正确的。

答案 4 :(得分:1)

你不能这样做: x - y = z

因为作业从右到左。 z = x - y

您的代码应如下:

public static double computeLoad(double x, double y) {
    double z = 0;
    z = x - y;
    return z;
}