我试图调用此方法从用户输入进入坐标点。
public class Cases {
public static Result Case1(){
Scanner in = new Scanner(System.in);
System.out.println("Enter index: ");
int i = in.nextInt(); //validate
System.out.print("Enter integers x, y to replace: ");
int x = in.nextInt();
int y = in.nextInt();
A[i] = new Point(x, y);
if(occupancy<i)
occupancy=i;
}
}
但我不知道如何让它发挥作用,因为它不需要返回声明。
这就是我从主方法中调用的方法:
Result r = null;
r = Cases.Case1();
我希望将所有案例从switch语句转换为这种单独的方法,但我甚至无法让其中一种方法起作用。我错过了什么?
答案 0 :(得分:4)
Java中有一种声明方法的结构。来自documentation
...方法声明有六个组件,按顺序:
- 修改器 - 例如公共,私人和其他您将了解的内容 后面。
- 返回类型 - 方法返回的值的数据类型, 如果方法没有返回值,则为void。
- 方法名称 - 字段名称的规则适用于方法名称 好吧,但会议有点不同。
- 括号中的参数列表 - 以逗号分隔的输入列表 参数,以其数据类型开头,括在括号中, ()。如果没有参数,则必须使用空括号。
- 一个例外列表 - 稍后讨论。
- 括在括号之间的方法体 - 方法的代码, 包括声明局部变量,请到这里。
醇>
因此,如果您需要声明没有任何返回类型的方法,则需要在第二个位置编写void
。
在您的代码中
public static Result Case1(){
您需要返回返回类型Result
。如果不想返回它 - 声明这样的方法:
public static void Case1(){
答案 1 :(得分:1)
声明不应返回任何内容的方法时,必须使用 void 作为返回类型。 在您的情况下,返回类型是 Result ,因此在添加返回Result对象的return语句之前,它不会编译。 有关定义方法的更多信息:https://docs.oracle.com/javase/tutorial/java/javaOO/methods.html