问题描述
这是我写的非常基本的内容:
Here is what I wrote which is pretty basic :
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;
}
}
这里似乎有什么问题?我早些时候让它工作,我必须将扫描仪类型和参数名称作为参数传递给函数......然后简单地使用在主函数中调用该函数>扫描仪类型和参数作为函数的参数?
What seems to be wrong here ? I had it working earlier, I had to pass the Scanner type and argument name as a parameter to the function... and simply call that function in the main using Scanner type and argument as an argument to the function ?
-----编辑-----
下面需要它的新代码:
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 谢谢!
@rgettman Thanks !
推荐答案
调用方法时需要传入实际的变量名in
,而不是类名Scanner
>.
You need to pass the actual variable name in
when you call the method, not the class name Scanner
.
getChoice(in);
代替
getChoice(Scanner);
顺便说一下,您的 getChoice
方法不会如所示进行编译.只需返回扫描器返回的内容,即 int
,正如您声明 getChoice
返回一个 int
:
Incidentally, your getChoice
method won't compile as shown. Just return what the scanner returns, which is an int
, as you declared getChoice
to return an int
:
public static int getChoice(Scanner n){
return n.nextInt();
}
这篇关于在函数中将 Scanner 对象作为参数传递的基本语法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!