我想知道是否存在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());
}}
希望有人可以告诉我如何和最好的,如果有任何教程来显示步骤。
答案 0 :(得分:0)
您的问题并不完全清楚,但您似乎想知道如何撰写问题或提示,并允许用户在同一行输入答案。如果是这样,“技巧”是使用System.out.print(prompt)
而不是System.out.println(prompt)
;即,在提示后不要输出换行符。
更新 - 我现在看到你在问什么。
坏消息是没有简单的方法可以做到这一点。但是,使用诸如charva库或“curses for Java”库之类的东西是可行的 - What's a good Java, curses-like, library for terminal applications?
答案 1 :(得分:0)
我不认为可以提示用户在Java中已打印的行之间键入 。您必须停止打印以获取用户输入,然后将更多字符串打印到用户