这个程序应该接受信息(通过文件重定向),并且应该准确输出它给出的内容,包括空格而不是末尾的额外行。它应该是完全相同的,没有任何差异。我的教授说这是错的。
import java.io.*;
public class driver_proj0{
public static void main(String[] args){
BufferedReader f = new BufferedReader(new InputStreamReader(System.in));
String lineInput = "";
try {
lineInput = f.readLine();
}
catch (IOException e){
e.printStackTrace();
}
while (lineInput != null){
System.out.print(lineInput); // I just want to print it without a new line out for now
try {
lineInput = f.readLine();
}
catch (IOException e){
e.printStackTrace();
}
if (lineInput != null){
System.out.println();
}
} // end while
} //end main
}// end class
答案 0 :(得分:0)
" 包括空格而不是末尾的额外行"。如果这是要求,那么您不应该评论/删除该行
if (lineInput != null){
System.out.println();
}
这是介绍newLine。你的程序返回的输出与你输入的输出相同,但是行格式化是一些不期望的东西??。
答案 1 :(得分:0)
package eu.duernau.stackoverflow;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Sov33354885 {
public static void main(String[] a) throws IOException {
BufferedReader f = new BufferedReader(new InputStreamReader(System.in));
String lineInput = f.readLine();
while (lineInput != null) {
System.out.println(lineInput);
lineInput = f.readLine();
}
}
}
产生例如:
say hello with blanks
say hello with blanks
say anything else
say anything else
test
test
exit does not work, because not implemented. three tabs
exit does not work, because not implemented. three tabs
你无法获得
say anything elsesayanything else
因为您的INPUT中已存在换行符。否则readLine()将无效。用于readLine()的Javadoc:
读取一行文字。一条线被认为是由换行符('\ n'),回车符('\ r')或回车符后面的任何一个终止。