Java 尝试使用scanner类循环函数
我是Java的初学者,不知道是否有人能帮我解决这个问题 我要做的是尝试循环用户输入。我想知道当我尝试运行loopPlay()时,为什么会出现空指针异常 edit:我现在明白了,我还没有初始化userInput。有人能告诉我怎么做吗?Java 尝试使用scanner类循环函数,java,while-loop,java.util.scanner,Java,While Loop,Java.util.scanner,我是Java的初学者,不知道是否有人能帮我解决这个问题 我要做的是尝试循环用户输入。我想知道当我尝试运行loopPlay()时,为什么会出现空指针异常 edit:我现在明白了,我还没有初始化userInput。有人能告诉我怎么做吗? import java.util.Scanner; public class InputReader { private Scanner scanner; /** * Create a new InputReader to read user
import java.util.Scanner;
public class InputReader
{
private Scanner scanner;
/**
* Create a new InputReader to read user input.
*/
public InputReader()
{
scanner = new Scanner(System.in);
}
/**
* @return the user's input as a String
*/
public String getInput()
{
return scanner.nextLine();
}
}
及
classstringplay{
私有输入头用户输入;
公共void loopPlay(int timesToLoop){
if(timesToLoop 0){
System.out.println(“键入句子:”);
字符串输入=userInput.getInput();
System.out.println(“您键入:“+input”);
计数器--;
}
}
}
}
当然userInput
没有初始化,它是null
正如其他人所说,您需要初始化userInput。下面的行将调用InputReader构造函数
private InputReader userInput = new InputReader();
userInput尚未初始化,请更改:
private-InputReader-userInput代码>至:
private InputReader userInput=new InputReader()代码>用户输入从未初始化?您只是在loopPlay()中调用它,但您从未在该引用中说过new()。谢谢Petar。你介意帮我解决这个问题吗?如何初始化userInput变量?
private InputReader userInput = new InputReader();