Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 尝试使用scanner类循环函数_Java_While Loop_Java.util.scanner - Fatal编程技术网

Java 尝试使用scanner类循环函数

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

我是Java的初学者,不知道是否有人能帮我解决这个问题

我要做的是尝试循环用户输入。我想知道当我尝试运行loopPlay()时,为什么会出现空指针异常

edit:我现在明白了,我还没有初始化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();
    }
}

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();