2013-12-11 98 views
1

我有一個關於如何在數組上使用printf的問題。在我的情況下,我使用import java.util.Arrays;顯示數組,並通過Arrays.toString()顯示它們。或者這是不可能的這種顯示數組的方法,就像我需要在由for循環顯示的數組上使用printf一樣?任何幫助將不勝感激。下面是我的代碼所做的:java使用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) 

我想顯示它,以便數字與行星名稱對齊,並將小數點後的值限制爲小數點後的兩位數值(3.14)

+0

你是對的,就需要另一種方法,如循環和'System.out.format()'。 – Keppil

回答

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