我已经初始化了一个变量值和一个输入值.. 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。

最佳答案

您的代码有几个问题:

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

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

您可以通过以下两种方法解决此问题:


将呼叫更改为currLoad = computeLoad(maxLoad, loadInput);,或
computeLoad更改为void,然后在此处分配currLoad

关于java - 基本的Java参数传递,方法内部的计算,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20378770/

10-09 09:48