java使用printf实现数组

java使用printf实现数组,java,arrays,printf,Java,Arrays,Printf,我有一个关于如何在数组上使用printf的问题。在我的例子中,我使用import java.util.arrays显示数组并通过Arrays.toString()显示它们。或者这种方法不可能显示数组,比如我需要在for循环显示的数组上使用printf吗?任何帮助都将不胜感激。下面是我在代码中所做的: public static void printResults(String[] name, double[] radius, double[] mass, double gravity[]) {

我有一个关于如何在数组上使用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));
}
我在main方法中这样调用它:

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)

选项1

for (int index = 0; index < blam.length; ++index)
{
    String formattedOutput = String.format("format string", objects...);
    System.out.println(formattedOutput);
}
for(int index=0;index
阅读作业:

选择2

for (int index = 0; index < blam.length; ++index)
{
    System.out.printf("format string", objects...);
}
for(int index=0;index

阅读作业:

是的,您需要通过数组循环到数组的长度,并按照@Keppil所说的那样使用

这可能有助于满足您的需求

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();
            }


          }


      }
}

没错,您需要另一种方法,比如循环和
System.out.format()
Name=Mercury
Radius=10.56
Mass=5.12
Gravity=1054.12

Name=Venus
Radius=10.67
Mass=10.45
Gravity=10.24