我的问题是创建一个名为getScanner的方法,每次调用它时,另一个方法都可以调用getScanner来获取下一行输入。
代码:
public static void getScanner() {
Scanner input = new Scanner(System.in);
}
public static String getInput() {
String userInput = getScanner().nextLine();
return userInput
}
错误
error: void cannot be dereferenced
String userInput = getScanner().nextLine();
1 error
基本上,我有多个方法需要将用户Scanner作为输入,而不是声明全局变量或局部变量,我想调用一个方法,每次调用时都会创建一个Scanner作为输入并为此赋值变量输入
答案 0 :(得分:2)
您设置的void返回类型不返回任何内容。由于您需要扫描仪对象,请在方法中返回扫描仪。
public static Scanner getScanner() {
Scanner input = new Scanner(System.in);
return input }
public static String getInput() {
String userInput = getScanner().nextLine();
return userInput }
答案 1 :(得分:1)
您没有返回Scanner
的实例。使用:
public static Scanner getScanner(){
return new Scanner(System.in);
}
答案 2 :(得分:1)
工作守则。经过测试和编译。
public class testj
{
public static void main(String[] args)
{
System.out.println(getInput());
}
private static String getInput()
{
String userInput = getScanner().nextLine();
return userInput;
}
private static Scanner getScanner()
{
return new Scanner(System.in);
}
}
我们必须在方法标题中指定返回object
的内容。
getInput()
的较短版本您也可以修改此方法,如下所示
private static String getInput()
{
return getScanner().nextLine();
}