【问题标题】:Calling method wrong调用方法错误
【发布时间】:2015-07-03 16:34:49
【问题描述】:

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

扫描仪实例化 = new takeNumberOfEntries();

我不确定我做错了什么。

【问题讨论】:

  • 请引用您收到的错误消息。您可能还想扩展标题以使其更具体。
  • 你不能调用带有new关键字的方法...这是用于创建对象...
  • 它说:此行有多个标记 - takeNumberOfEntries 无法解析为类型 - takeNumberOfEntries 无法解析为类型
  • 方法在代码中的实际位置
  • 在类中,在main方法上方。按照它们在代码中出现的顺序显示。

标签: java methods calling-convention


【解决方案1】:

你不能实例化一个函数。你必须实例化一个类,然后调用一个函数。

public class Class {

public void function() {

}

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

    instance.function();
}

}

【讨论】:

    【解决方案2】:

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

    takeNumberOfEntries() 是一个函数。

    如果你定义myClass如下,你可以使用new实例化它的一个实例,如下所示:

    public class myClass{
    
    }
    
    MyClass instance = new Myclass;
    

    【讨论】:

    • 是的,但调用函数是个问题
    【解决方案3】:

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

    第一个 - 您必须先实例化一个类,然后才能调用任何函数。实例化那些特定方法所在的类。

    MyClass myClass = new MyClass();
    

    第二 - 你不想让这些方法保留private。在该类声明之外的任何东西都不会看到它们。至少将summingAndAveraging 更改为public,以便可以在其他地方调用它。

    【讨论】:

      猜你喜欢
      • 2015-11-28
      • 2017-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-03
      • 1970-01-01
      相关资源
      最近更新 更多