java中输出打印 num_System.out.print。 如何将打印输出编号?(JAVA)

因此,假设我打印出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]);

编辑问题。 我再次为没有正确解释问题而道歉。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值