我是 Java 初学者,想知道是否有人可以帮助我解决这个问题。
我想做的是尝试循环用户输入。我想知道当我尝试运行loopPlay()时为什么会出现空指针异常;
编辑:我现在明白我还没有初始化 userInput。有人可以告诉我该怎么做吗?
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();
}
}
和
class StringPlay {
private InputReader userInput;
public void loopPlay(int timesToLoop) {
if (timesToLoop <= 0) {
System.out.println("Error: input too low.");
return;
} else {
int counter = timesToLoop;
while (timesToLoop > 0) {
System.out.println("Type a sentence: ");
String input = userInput.getInput();
System.out.println("You typed: "+ input);
counter--;
}
}
}
}
最佳答案
正如其他人所说,您需要初始化 userInput。下面的行将调用 InputReader 构造函数。
private InputReader userInput = new InputReader();
关于java - 尝试使用扫描器类循环函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6428471/