我需要打印出代码,并有缩进是正确的,但它的所有打印在行的开头。
public static void printData(Scanner fileScanner) {
int lineNumber = 0;
while (fileScanner.hasNextLine()) {
System.out.println(lineNumber + ": " + fileScanner.nextLine());
lineNumber = lineNumber + 1;
}
System.out.println("\n" + "\n" + "Cross-Reference Index");}
这会打印出从行首开始的所有代码,但我希望它看起来像实际的代码一样。
发布于 2019-03-28 10:12:22
扫描仪可能不适合这项工作。Scanner的要点是将输入拆分成“令牌”,通常由空格分隔。听起来甚至连nextLine都跳过了前导空格。
尝试使用BufferedReader。
顺便说一句,你可能想让你的行号字段固定宽度。试一试
String.format("%-7d:", lineNumber);这将导致数字左对齐,用空格填充宽度为7,然后是冒号。(建议将前缀的长度设置为8的倍数,以防出现硬制表符)
https://stackoverflow.com/questions/55389112
复制相似问题