首先,这是我参加的第一个编程课程,所以我很抱歉这是一个非常简单的问题。对于家庭作业,我们必须编写一个扫描文本文件的程序,提示用户输入由< &gt ;,然后将结果写入另一个文本文件。
我遇到的问题是输出文件全部写在一行上,而不是保留输入文件中的换行符。
例如:
输入
看起来像
本文。
输出看起来像这个文本。
这是我在相关方法中的代码。
public static void createMadLib(Scanner console) throws FileNotFoundException {
Scanner input = getInput(console);
System.out.print("Output file name: ");
PrintStream out = new PrintStream(new File(console.nextLine()));
System.out.println();
String text = input.next();
while (input.hasNext()){
if (text.startsWith("<")){
text = text.substring(1, text.length()-1);
text = text.replace("-"," ");
if ((text.startsWith("a"))||(text.startsWith("e"))||(text.startsWith("i"))||(text.startsWith("o"))||(text.startsWith("u"))){
System.out.print ("Please type an " + text + ": ");
text = (console.nextLine());
}else {
System.out.print ("Please type a " + text + ": ");
text = (console.nextLine());
}
}
out.print(text + " ");
text = input.next();
}//ends while loop
out.print(text);
prompt(console);
}
我为任何格式错误道歉,再次,这是我的第一个编程课程。
感谢您的帮助
答案 0 :(得分:1)
您可能希望使用out.print
,而不是使用out.println
,它会执行相同的操作,但会在行尾添加换行符。您还可以手动连接要插入换行符的换行符(\n
)。
答案 1 :(得分:0)
是的,Jonathan的回答是有效的。 所以我投票给Jonathan的,。