gpt4 book ai didi

java - 对于由字符串和 double 组成的单个打印输出,我如何以及以什么顺序组合 printf 格式化参数?

转载 作者:行者123 更新时间:2023-11-29 04:39:20 24 4
gpt4 key购买 nike

下午好

我想将这里的三行 java 代码组合成一个 printf 语句。这个想法是最终有几列均匀分布的数据,用计算机科学记数法表示,有 5 位有效数字。我似乎无法以正确的顺序组合参数。此外,当我尝试通过添加额外的“%-#s”格式来格式化多列时,我被告知我没有包含足够的参数,或者出现了有趣的东西。我做错了什么?

System.out.printf("%-3s", "a_"+k+" = ");
System.out.printf("%6.3e\n", a_k[k]);
System.out.printf("%6.3e\n", a1_k[k]);

我已经尝试了以下各种顺序和组合但无济于事,并且无法理解有关如何正确实现它的 javadocs:

System.out.printf("%-3s%5.4e%-10s%5.4e\n", "a_"+k+" = ", a_k[k], a1_k[k]);

谢谢!

最佳答案

when I try to format multiple columns by adding extra "%-#s" formats, I am being told that I have not included enough arguments

a_k[k]a1_k[k] 之间需要一个字符串参数。

以下是我认为您需要的四种格式。

  1. %-3s -> "a_"+ k + "= "
  2. %5.4e -> a_k[k]
  3. %-10s ->(空格)
  4. %5.4e -> a1_k[k]

因此,只需在位置3插入一个""

System.out.printf("%-3s%5.4e%-10s%5.4e\n", "a_"+k+" = ", a_k[k], "", a1_k[k]);

See example

或者,为了让眼睛更舒服

String akEq = "a_"+k+" = ";
float col1 = a_k[k];
float col2 = a1_k[k];
System.out.printf("%-3s%5.4e%-10s%5.4e\n", akEq, col1, "", col2);

并且,更进一步,将 "a_%d = " 也放入格式中,而不是使用字符串连接

System.out.printf("a_%d = %5.4e%-10s%5.4e\n", k, col1, "", col2);

关于java - 对于由字符串和 double 组成的单个打印输出,我如何以及以什么顺序组合 printf 格式化参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39924520/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com