调用方法错误

时间:2015-07-03 16:34:50

标签: java methods calling-convention

我正在学习JAVA并尝试制作一个程序,该程序可以对任意数量的整数求和。我为此制作了两种方法,一种采用条目数:

private Scanner takeNumberOfEntries(){
    Scanner numberOfEntries = new Scanner(System.in);
    System.out.println("Number of entries:");

    while (!numberOfEntries.hasNextInt()){
        System.out.println("Enter the right format");
        numberOfEntries.next(); 
    }
    return numberOfEntries;
} 

并将其传递给另一个读取输入并将其存储在数组中的文件:

private void summingAndAveraging(Scanner numberOfEntries){
    int entryCountLimit = numberOfEntries.nextInt();
    int[] inputArray = new int[entryCountLimit];

    System.out.println("Enter the integer values");

    for (int i = 0; i < entryCountLimit ; i++){
        Scanner inputValues = new Scanner(System.in);
        while (!inputValues.hasNextInt()){
            System.out.println("fu k you, enter again:");
            inputValues.next();
        }

        inputArray[i] = (int) inputValues.nextInt();
    }

}

当我尝试在main中调用它时,我会收到错误。我试过了两个:

    takeNumberOfEntries instant = new takeNumberOfEntries();

Scanner instantiation = new takeNumberOfEntries();

我不确定我做错了什么。

3 个答案:

答案 0 :(得分:0)

您不能实例化一个函数,而只能实例化一个类。

takeNumberOfEntries()是一个功能。

如果您按如下方式定义myClass,则可以使用new实例化其实例,如下所示:

public class myClass{

}

MyClass instance = new Myclass;

答案 1 :(得分:0)

这里有两个问题,一个是语法问题,一个是概念问题(后面可能会变成语法问题)。

第一个 - 您必须在调用任何函数之前实例化一个类。实例化存在这些特定方法的类。

MyClass myClass = new MyClass();

第二 - 您不希望这些方法保持private。除了该类声明之外的任何内容都不会显示它们。至少将summingAndAveraging更改为public,以便可以在其他位置调用。

答案 2 :(得分:0)

您无法实例化某个功能。你必须实例化一个类然后调用一个函数。

public class Class {

public void function() {

}

public static void main(String[] args) {
    Class instance = new Class();

    instance.function();
}

}