繁体   English   中英

调用java方法时出错

[英]error while calling a java Method

我正在学习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);

    }


}

当我尝试将方法包含在public方法中时,出现错误。

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


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

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

不过,您应该很少需要执行类似的操作。

在Java中,您不能在其他方法中声明方法(例如,可以在 )。 方法是在类下定义的,就像您在第二个代码示例中所做的那样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM