2017-04-27 49 views
-2

我想是因为我使用break中断的代码,否则它将打印阵列,以提高这种方法3次。我相信它的工作原理,但认为一定有更好的方法来做到这一点。任何帮助将不胜感激。我怎么能提高该Java方法,它双打的阵列,使转换从公斤到磅,并打印双维数组

//this method takes an array of doubles and returns a bidimensional array 
public static double[][] allKgToPounds(double... kilogramValues) { 
    double[][] result = new double[kilogramValues.length][kilogramValues.length]; 
    for (int j = 0; j < result.length; j++) { 
     for (int i = 0; i < result[0].length;) { 
      System.out.printf("[%.2f kgs-> ", kilogramValues[j]); 
      result[j][i] = kilogramValues[j] * kilogramToPounds; 
      System.out.printf("%.2f lbs] %n",result[j][i]); 
      break;//I use break because otherwise it will print the bidemsional array 3 times 
     } 
    }  
    return result; 
} 
+0

我错过理解你的代码,它打印了三次,因为你有一排三列,有什么问题,为什么你使用二维数组,以防你只想打印1个值 –

+0

而不是'break' return ? –

+1

为什么你需要一个二维数组,在我看来,返回含有转换后重量的double []是有意义的。这将与打印阵列一致吗? –

回答

0

提示:给ñ千克值,当你不想要一个N×N的结果。你想要一个n X 2结果;结果[Ñ] [0]将具有从kilogramValues [Ñ]的原公斤值,导致[Ñ] [1]将具有kilogramValues [Ñ]转换为磅的值。