为什么错误消息出现在这个java代码中?

时间:2015-07-03 07:02:46

标签: java

public class BadExample {
    public static void main(String[] args) {
        int x = 3;
        int y = 7;
        computeSum();
    }
    public static void computeSum () {
        int sum = x + y;
        System.out.println("sum = " + sum);
    } 
}

为什么会出现错误消息?我可以阅读它们,但我不确切地知道它们的含义是什么?

4 个答案:

答案 0 :(得分:3)

您没有将x和y传递给computeSum()方法。要在方法中访问它,您需要将其传递给您的方法。

public class BadExample {
        public static void main(String[] args) {
            int x = 3;
            int y = 7;
            computeSum(x,y);
        }

         public static void computeSum (int x, int y) {
             int sum = x + y;
             System.out.println("sum = " + sum);
         }
    }

答案 1 :(得分:1)

这是因为函数不知道x和y是什么。 一个正确的方法是将x和y作为参数传递给函数,如下所示:

public class Example {
    public static void main(String[] args) {
        int x = 3;
        int y = 7;
        computeSum(x ,y );
    }

     public static void computeSum (int x, int y) {
         int sum = x + y;
         System.out.println("sum =" + sum);
     }
}

答案 2 :(得分:1)

方法computeSum不知道x和y是什么,所以将它传递给方法的参数。

public class BadExample {
    public static void main(String[] args) {
        int x = 3;
        int y = 7;
        computeSum(x,y);
    }

     public static void computeSum (int x, int y) {
         int sum = x + y;
         System.out.println("sum = " + sum);
     }
}

答案 3 :(得分:0)

也许你假设在main函数中定义的局部变量可以在其他类成员函数中访问。

在函数内定义的变量是该函数的本地变量,并且在该函数的范围之外不可访问。

所以正确的实现是将x和y作为函数参数传递给computeSum(x,y)方法。

     public class Sample {

     public static void main(String[] args) {
        int x = 3;
        int y = 7;
        computeSum(x ,y );
        }

     public static int computeSum (int x, int y) {
         int sum = x + y;
         System.out.println("sum =" + sum);
         return sum;
        }
     }

同样从设计角度来看,computeSum方法应该将参数作为函数参数,其值需要计算并返回总和。