Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 方法帮助-初学者错误_Java_Class_Enums_Interface - Fatal编程技术网

Java 方法帮助-初学者错误

Java 方法帮助-初学者错误,java,class,enums,interface,Java,Class,Enums,Interface,就方法签名而言,我在编写方法时遇到了很多困难 我得到的错误通常涉及接收或返回类型上的“错误:预期的类、接口或枚举” 在本例中,错误出现在方法签名中的返回方面,然后在尝试返回int时出现在方法中 任何人都可以解释我做错了什么吗?你不能在类定义之外编写方法,因为代码缩进不好,你无法发现这些方法,所以请在问题5类中添加你的Number()方法,如下所示: import java.util.*; public class Problem5 { public static void main(S

就方法签名而言,我在编写方法时遇到了很多困难

我得到的错误通常涉及接收或返回类型上的“错误:预期的类、接口或枚举”

在本例中,错误出现在方法签名中的返回方面,然后在尝试返回int时出现在方法中


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

你不能在
定义之外编写方法,因为代码缩进不好,你无法发现这些方法,所以请在
问题5
类中添加你的
Number()
方法,如下所示:

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()
方法应该是
static
,以便从
static main()
方法调用它。另外,您需要
扫描器
对象作为参数传递给
Number()
方法(如上所示)



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

,因为代码缩进不良,无法在
定义
之外编写方法,因此请添加
number()
Problem5
类中的方法,如下所示:

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()
方法应该是
static
,以便从
static main()
方法调用它。另外,您需要
扫描器
对象作为参数传递给
Number()
方法(如上所示)



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

,通常我会在问题中重新格式化代码,但由于一半的问题是由于代码没有缩进造成的,因此我会在回答中重新格式化它

这是您重新格式化的代码

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;
    }
}
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()
方法设置为静态

第三,需要将scanner变量传递到
Number()
方法中

以下是最终的修复程序:

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;
    }
}
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;
}

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

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

这是您重新格式化的代码

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;
    }
}
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()
方法设置为静态

第三,需要将scanner变量传递到
Number()
方法中

以下是最终的修复程序:

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;
    }
}
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;
}

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

学习缩进代码。它帮助所有需要阅读它的人——包括我们,但更重要的是,它也包括您。number()函数必须是静态的,才能在主函数中调用。学习缩进代码。它可以帮助所有需要阅读它的人——包括我们,但更重要的是,它也包括您。number()函数必须是静态的,才能在主函数中调用。第四,使用Java命名约定(
number
->
number
)。同意,这是一个很好的做法,但在这种情况下,它不会解决任何编译问题。第四,使用Java命名约定(
Number
->
Number
)。同意,这是一个很好的实践,但在这种情况下,它不会解决任何编译问题。