方法帮助 - 初学者错误

时间:2017-04-27 22:10:56

标签: java class enums interface

gemspec

我在编写方法签名方法时遇到了很多麻烦。

我收到的错误通常涉及接收或返回类型的“错误:类,接口或枚举”。

在这种情况下,错误在方法签名中的返回方面,然后在尝试返回int时在方法中。

任何人都可以解释我做错了吗?

2 个答案:

答案 0 :(得分:3)

通常我会在一个问题中重新格式化代码,但由于问题的一半是由于代码没有缩进这一事实引起的,我将在我的答案中重新格式化。

这是您重新格式化的代码

import java.util.*;
public class Problem5
{
    public static void main(String[] args)
    {
        Scanner scanner = new Scanner(System.in);
        Number();
    }
}
public int Number()
{
    System.out.println("please enter a one digit number");
    int placeholder = scanner.nextInt;
    return placholder;
}

现在很容易看出你的Number()方法不在类定义中。

另外,要从静态方法调用Number()方法,您还需要使Number()方法保持静态。

第三,您需要将扫描仪变量传递到Number()方法。

以下是最终修复

import java.util.*;
public class Problem5
{
    public static void main(String[] args)
    {
        Scanner scanner = new Scanner(System.in);
        Number(scanner);
    }

    public static int Number(Scanner scanner)
    {
        System.out.println("please enter a one digit number");
        int placeholder = scanner.nextInt;
        return placholder;
    }
}

编辑最后,正如@AndyTurner和@javaguy指出的那样,使用Java命名标准 - 变量和方法名称以小写字母开头。

答案 1 :(得分:1)

您无法在class定义之外编写,因为代码缩进不佳而无法发现,因此请在Number()内添加Problem5方法{1}}类如下所示:

public class Problem5 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        Number(scanner);
    }
    public static int Number(Scanner scanner)  {
         System.out.println("please enter a one digit number");
         int placeholder = scanner.nextInt;
         return placholder;
    }
}

另请注意,Number()方法应为static,以便从static main()方法调用它。此外,您需要scanner对象作为参数传递给Number()方法(如上所示)。

作为旁注,请确保遵循Java命名标准,即方法名称以小写字母开头,如number(),但不像Number()