因此,假设我正在打印出500名员工的巨大记录。在打印出记录后,我希望它看起来像:
1. Matthew J. $USD 28.404
2. Donna M. $USD 43.254
3. Jordan D. $USD 15.532
4.
5.
6.
7. and so on......
然而......使用普通的printout命令,它看起来像:
System.out.println();
我的输出:
Matthew J. $USD 28.404
Donna M. $USD 43.254
Jordan D. $USD 15.532
and so on......
编辑:那么如何让输出让每行编号?
稍后编辑:
我的System.out.print正在从列表中打印出信息(从JSON,所有这些都解决了到Prasad Khode)这里是我的代码:
for (Manager iterator : managersList) {
System.out.println(iterator.getName() + " - " + iterator.getSalary());
}
打印出来
Name - Salary
如何进行打印:
1. Name - Salary
2. Name - Salary
等等。 一个解决方案将非常受欢迎。感谢。
答案 0 :(得分:2)
int i = 1;
while(something) {
println(i + "." + SomeName);
i++
}
这是你在找什么?
答案 1 :(得分:0)
如果您使用for循环打印记录,则可以使用
System.out.println((i+1)+". "+ record[i]);
答案 2 :(得分:0)
修改System.out.println()
以便输出行号并非易事。您可以创建一个新的PrintStream子类(即out
是什么),覆盖PrintStream中的所有适当方法,以便println(boolean)
,println(char)
和println(long)
等所有打印在开头输出行号(在类本身中维护)。然后,创建它指向System.out
并以某种方式将System.out
重新附加到此PrintStream。这并非不可能,对于想要在系统内部陷入困境的人来说,这可能是一项值得做的事情,但有一个数字更容易实现这一目标。
首先,考虑只打印整个流,然后通过awk或某些此类程序进行管道传输。更容易,也不会搞乱事情。
假设您确实希望进入“这需要是Java的输出”,那么让我们创建一个包装类。
package com.michaelt.so.outwrapper;
import java.io.PrintStream;
public class Wrapper {
static PrintStream out = System.out;
static int lineNum = 1;
static void println(String arg) {
out.println((lineNum++) + ". " + arg);
}
static void printlnFancy(String arg) {
out.printf("%3d. %s\n", lineNum++, arg);
}
}
然后使用:
package com.michaelt.so.outwrapper;
public class Main {
public static void main(String[] args) {
for(char c = 'a'; c <= 'f'; c++) {
Wrapper.println(""+c); // I just want a string
}
for(char c = 'A'; c <= 'F'; c++) {
Wrapper.printlnFancy(""+c);
}
}
}
打印出来:
1. a 2. b 3. c 4. d 5. e 6. f 7. A 8. B 9. C 10. D 11. E 12. F
我不是说这是件好事。它涉及将所有System.out.println()
更改为Wrapper类......但它实际上并不会导致System.out
混乱,这可能会导致令人惊讶的事情。