java使用printf表示数组

时间:2013-12-11 20:50:39

标签: java arrays printf

我有一个关于如何在数组上使用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)

3 个答案:

答案 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