0

我想知道Java SE是否有一种方法可以打印出一段段落,然后在行之间我们可以允许用户在行上键入答案。

要更清楚:

这是一个例子:

_ __ _读书,爱丽丝也喜欢听古典音乐。

因此,当使用缓冲区阅读器绘制文本时,用户可以在行本身上输入答案。

这是缓冲区读取器的方法:

    public void getCloze(){
    File file = new File("cloze.txt");
    StringBuffer contents = new StringBuffer();
    BufferedReader reader = null;

    try {
        reader = new BufferedReader(new FileReader(file));
        String text = null;

        // repeat until all lines is read
        while ((text = reader.readLine()) != null) {
            contents.append(text)
                    .append(System.getProperty(
                            "line.separator"));
        }
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            if (reader != null) {
                reader.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
     // show file contents here
    System.out.println(contents.toString());

}}

如果有任何教程来显示这些步骤,希望有人能告诉我如何和最好的。

4

2 回答 2

0

尚不完全清楚您的问题是什么,但您似乎想知道如何编写问题或提示并允许用户在同一行输入答案。如果是这样,“诀窍”是使用System.out.print(prompt)而不是System.out.println(prompt); 即提示后不要输出换行符。


更新- 我明白你现在在问什么。

坏消息是没有简单的方法可以做到这一点。但是,使用charva库或“Java 的诅咒”库之类的东西是可行的-什么是用于终端应用程序的好的 Java、类似诅咒的库?

于 2012-12-19T04:56:47.280 回答
0

我认为不可能提示用户在 Java 中已经打印的行之间输入。您必须停止打印以获取用户输入,然后向用户打印更多字符串

于 2012-12-19T05:00:09.537 回答