Java:在主类中添加类函数

时间:2017-05-25 10:03:16

标签: java

我是JAVA的新手。我想创建一个类并在其中编写一个函数。然后我想在main类中使用该函数。

import java.util.Scanner;

public class multi_fun {
    public static void main(String[] args) {

        Scanner scan = new Scanner(System.in);
        int a, b, c;

        System.out.println("Enter 1st number: ");
        a = scan.nextInt();
        System.out.println("Enter 2nd number: ");
        b = scan.nextInt();
        Addition obj = new Addition();
        c = obj.add(a,b);
        System.out.println("The sum is "+c);
        scan.close();
    }
}
class Addition{
    public int add (int a, int b)
    {
        return(a+b);
    }
}

5 个答案:

答案 0 :(得分:1)

确保两个java文件都在同一个文件夹中。

MultiFun.java

import java.util.Scanner;

public class MultiFun {

    public static void main(String[] args) {
        Addition obj = new Addition();

        Scanner scan = new Scanner(System.in);
        int a, b, c;

        System.out.println("Enter 1st number: ");
        a = scan.nextInt();
        System.out.println("Enter 2nd number: ");
        b = scan.nextInt();

        c = obj.add(a, b);
        System.out.println("The sum is " + c);
        scan.close();

    }

}

Addition.java

class Addition {
    public int add(int a, int b) {
        return (a + b);
    }
}

运行以下命令

javac MultiFun.java
java MultiFun

答案 1 :(得分:1)

根据您在评论中提到的错误消息,我认为存在问题:

  

线程中的异常" main" java.lang.NoSuchMethodError:   Addition.add(II)我在multi_fun.main(multi_fun.java:15)

您似乎将Addition类声明放在multi_fun.java程序的同一源文件中。

您应该创建一个名为Addition.java的java类文件,并将您的类代码放入其中:

class Addition{
    public int add (int a, int b)
    {
        return(a+b);
    }
}

之后它应该没有任何错误。

<强>更新

您可以查看Answer,其中解释'java.lang.NoSuchMethodError: main Exception in thread “main”'的原因,它可以解决您的问题。

答案 2 :(得分:0)

如果您使用终端命令提示符(cmd)运行程序,请确保运行具有主要方法的类(已创建来自Addition类的对象)。并且不要在两个类中创建主要方法,也不要将public添加到Addition类。

最后一件事:编译并仅运行主类(multi_fun)。是的,

javac multi_fun.java
java multi_fun

答案 3 :(得分:0)

import java.util.Scanner;

public class multi_fun {

    public static void main(String[] args) {

        Scanner scan = new Scanner(System.in);
        int a, b, c;

        System.out.println("Enter 1st number: ");
        a = scan.nextInt();
        System.out.println("Enter 2nd number: ");
        b = scan.nextInt();
        add(a,b);
        System.out.println("The sum is "+c);
        scan.close();

    }

}


public static int add (int a, int b)
{
    return(a+b);
}

答案 4 :(得分:0)

此错误的原因是,在名为Addition的同一文件夹中已存在其他文件。因此,当我编写一个具有相同名称的类并尝试创建一个对象时,它会给出错误消息,因为参数不同。

谢谢大家的帮助。