我是一個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永遠不會初始化?你只是在loopPlay()中調用它,但是你從來沒有在那個引用上說new()。 – Dan