这是我写的非常基本的东西:
import java.util.Scanner;
public class Projet {
/**
* @param args
* @param Scanner
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Enter a digit");
Scanner in = new Scanner(System.in);
getChoice(Scanner);
in.close();
}
public static int getChoice(Scanner n){
n = in.nextInt();
return n;
}
}
这里看起来有什么问题?我之前有工作,我必须将扫描仪类型和参数名称作为参数传递给函数...并且只需使用扫描仪类型和参数作为函数的参数?
----- ----- EDIT
以下新代码需要它:
import java.util.Scanner;
public class Projet {
/**
* @param args
* @param Scanner
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Enter a digit");
Scanner in = new Scanner(System.in);
System.out.println(getChoice(in));
in.close();
}
public static int getChoice(Scanner in){
return in.nextInt();
}
}
@rgettman谢谢!
答案 0 :(得分:2)
调用方法时需要传递实际变量名in
,而不是类名Scanner
。
getChoice(in);
而不是
getChoice(Scanner);
顺便提一下,您的getChoice
方法无法编译,如图所示。只需返回扫描仪返回的内容,即int
,因为您声明getChoice
以返回int
:
public static int getChoice(Scanner n){
return n.nextInt();
}