调用java方法时出错

时间:2014-05-01 17:34:49

标签: java

我正在学习java。当我尝试在main方法中保留我试图调用的方法时,我遇到了很多错误。

我试图声明几个变量x,y。但是,我想在调用特定方法时调用数学运算,例如addMethod,subtractMethod等。

当我尝试在public方法中包含方法时,我收到错误。

 package exampleclass;

public class MathLearning {
    //declaring variables
    static int x = 9;
    static int y = 2;

    public static void main(String[] args) {

        int resu=0;
        additMethod(resu);
        subtMethod(resu);
        multMethod(resu);
        divMethod(resu);    

    private static void divMethod(int resu) {
        resu = x+y;
        System.out.println(resu);

    }

    private static void multMethod(int resu) {
        resu = x-y;
        System.out.println(resu);

    }

    private static void subtMethod(int resu) {
        resu = x*y;
        System.out.println(resu);

    }

    private static void additMethod(int resu) {
        resu = x/y;
        System.out.println(resu);

    }

    }
}

当我将方法保留在main方法之外时,我不会收到错误。

    package exampleclass;

public class MathLearning {
    //declaring variables
    static int x = 9;
    static int y = 2;

    public static void main(String[] args) {

        int resu=0;
        additMethod(resu);
        subtMethod(resu);
        multMethod(resu);
        divMethod(resu);


    }

    private static void divMethod(int resu) {
        resu = x+y;
        System.out.println(resu);

    }

    private static void multMethod(int resu) {
        resu = x-y;
        System.out.println(resu);

    }

    private static void subtMethod(int resu) {
        resu = x*y;
        System.out.println(resu);

    }

    private static void additMethod(int resu) {
        resu = x/y;
        System.out.println(resu);

    }


}

2 个答案:

答案 0 :(得分:5)

  

当我尝试在public方法中包含方法时,我收到错误。

您不能在Java 1 中使用嵌套方法。实际上,您的第二个片段在适当的位置具有方法;在main之外。


1 (旁白)好吧,我猜你技术上可以,因为你可以在方法中声明类,这意味着你最终可以在另一个方法中声明一个方法:

void foo1() {
    class X {
        void foo2() {
            ...
        }
    }
    ...
}

你应该很少做那样的事情。

答案 1 :(得分:2)

在java中,你不能在其他方法中声明方法(例如,你可以在中)。方法在类下定义,就像在第二个代码示例中一样。