我有一个关于如何在数组上使用printf的问题。在我的例子中,我使用import java.util.Arrays;
显示数组并按Arrays.toString()
显示。或者用这种方法显示数组是不可能的,比如我是否需要在for循环显示的数组上使用printf?任何帮助将不胜感激。以下是我在代码中所做的:
public static void printResults(String[] name, double[] radius, double[] mass, double gravity[])
{
// fill in code here
System.out.println(Arrays.toString(name));
System.out.println(Arrays.toString(radius));
System.out.println(Arrays.toString(mass));
System.out.println(Arrays.toString(gravity));
}
我用这样的主方法调用它:
printResults(names, radii, masses, gravities);
下面的是我执行它时程序的输出:
run:
[Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto]
[2439.7, 6051.9, 6378.0, 3402.5, 71492.0, 60270.0, 25562.0, 24774.0, 1195.0]
[3.3022E23, 4.8685E24, 5.973600000000001E24, 6.4185E23, 1.8986000000000002E27, 5.6845999999999996E26, 8.681E25, 1.0243E26, 1.312E22]
[3.700465457603474, 8.8661999605471, 9.794740681676519, 3.697967684866716, 24.776754466506414, 10.43814587026926, 8.861473215210253, 11.131680688084042, 0.6128071987535232]
BUILD SUCCESSFUL (total time: 3 seconds)
我想显示它以使数字与行星的名称对齐,并将小数位值限制为小数点后的2位值(3.14)
答案 0 :(得分:0)
选项1
for (int index = 0; index < blam.length; ++index)
{
String formattedOutput = String.format("format string", objects...);
System.out.println(formattedOutput);
}
阅读作业:String API Page
选项2
for (int index = 0; index < blam.length; ++index)
{
System.out.printf("format string", objects...);
}
阅读作业:PrintWriter API Page
答案 1 :(得分:0)
是的,您需要循环遍历数组到数组的长度,并使用System.out.format method作为@Keppil告诉。
答案 2 :(得分:0)
这可能对您的需求有所帮助。
public static void printResults(String[] name, double[] radius, double[] mass, double gravity[]){
DecimalFormat decimalFormat=new DecimalFormat("#0.00");
if(name!=null && radius!=null
&& mass!=null && gravity!=null){
if(name.length==radius.length
&& radius.length==mass.length
&& mass.length==gravity.length){
for(int i=0;i<name.length;i++){
System.out.println("Name="+name[i]);
System.out.println("Radius="+decimalFormat.format(radius[i]));
System.out.println("Mass="+decimalFormat.format(mass[i]));
System.out.println("Gravity="+decimalFormat.format(gravity[i]));
System.out.println();
}
}
}
}
示例输出:
Name=Mercury
Radius=10.56
Mass=5.12
Gravity=1054.12
Name=Venus
Radius=10.67
Mass=10.45
Gravity=10.24