因此,假设我打印出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
等等。
一个解决方案将非常受欢迎。 谢谢。
您可以递增一个整数并打印它,然后是句点和空格。
所以你问如何打印这些数字1, 2, 3...?
给我你用来打印它的代码,我给你代码做你想要的:)
是的,这就是我的要求。 如何在每个输出行之前添加这些数字。 编辑了这个问题。 非常抱歉,如果它看起来很模糊。
只需在println之前执行System.out.print(++line +"." );即可。 当然,假设500是循环打印的。 如果没有,请说出来。
我在线程中添加了我的真实问题。 很抱歉没有提前发布。@libik
int i = 1;
while(something) {
println(i +"." + SomeName);
i++
}
这是你想要的?
编辑问题。 我再次为没有正确解释问题而道歉。
先生,祝你有美好的一天! 谢谢你的解决方案。
修改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
", 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,这可能导致令人惊讶的事情。
我用@RobinGenolet的解决方案解决了我的问题。 然而,你花了很多时间和精力发布这个非常精细的答案,所以谢谢你。
惊人的建议。 我实际上在另一个项目中创建了Wrapper类来检查它是如何工作的。 但是,使用上述批准的解决方案需要更少的时间。 用最伟大的本杰明富兰克林的话说"时间就是金钱"。。 我非常感谢您在撰写此答案时付出的时间和精力。 再次感谢。
如果你使用for循环打印记录,那么你可以使用
System.out.println((i+1)+"."+ record[i]);
编辑问题。 我再次为没有正确解释问题而道歉。