2016-03-27 17 views
0

Sadece her şeyin doğru bir şekilde hesaplandığını söyleyerek başlamak istiyorum. Sahip olduğum tek sorun, girdiğim 2B diziyi ve her sütun için aldığım toplamları nasıl biçimlendirmeye çalışıyor.Sayı Ekleyerek Sayıları Biçimlendir Sütunla Sütun [Java]

Bu, 3'ü 1 program bir parçasıdır. İkinci kısım için 3x4 2D dizisinde 12 sayı girmeliyim. Konsol daha sonra girdiğim diziyi ve toplam sütun sütununu döndürür.

Enter 3 rows and 4 columns: 
1 2 3 4 
5 6 7 8 
9 10 11.2 12.5 
You entered: 
1.0 2.0 3.0 4.0 
5.0 6.0 7.0 8.0 
9.0 10.0 11.2 12.5 
The sums are: 
15.0 18.0 21.2 24.5 

Bu benim defa kodudur:

Bu

nasıl görünmelidir olan

Enter a 3 by 4 matrix row by row: 
1 2 3 4 
5 6 7 8 
9 10 11.2 12.5 
You entered: 
[[email protected] [[email protected] [[email protected] The sums are: 15.0 
The sums are: 18.0 
The sums are: 21.2 
The sums are: 24.5 
: Kod haliyle

else if(choice == 2) { 
      // declare the 3x4 array 
      System.out.print("Enter a 3 by 4 matrix row by row: "); 
      double[][] myArray = new double[3][4]; 
      // set up the array as an input 
      for (int i = 0; i < 3; i++) 
       for (int j = 0; j < 4; j++) 
       myArray[i][j] = input.nextDouble(); 

      feature2(myArray); 

     } // end of choice 2 block 

private static void feature2(double[][] myArray){ 


    System.out.println("You entered: "); 
    // return the entered array in double form 
    for (int i = 0; i < myArray.length; i++) { 
      System.out.print(myArray[i] + " "); 
     } 
    // calculate the sums column by column and display the results 
    for(int column = 0; column < myArray[0].length; column++) { 
     double total = 0; 
     for(int row = 0; row < myArray.length; row++) 
      total += myArray[row][column]; 
     System.out.println("The sums are: " + total); 

    } 
} // end of feature 2 

, bu konsolun üzerinde okur budur

Gördüğünüz gibi, doğru hesaplar, ancak doğru şekilde biçimlendirmez. Biçimlendirmeyle ilgili yardım alabilirsem, buradan alabilirim.

cevap

1

İki boyutlu bir dizide geçiş yapmak için iç içe geçmiş bir iç sürüme ihtiyacınız vardır. MyArray [i] değeri, dizin i'deki dizilerin yalnızca bir adresidir. 2B dizisi içindeki dizilerin öğelerine erişmek için dizinin yalnızca dizinine değil, aynı zamanda dizideki öğenin dizinine (myArray [row] [column]) erişmeniz gerekir. Dış döngü her bir satırdan (dizi) geçmeli ve iç döngü dizi içindeki her sütundan (dizi öğesi) geçmelidir. Son olarak, dizilerden birinin elemanlarını yazdırdıktan sonra, bir sonraki dizinin elemanları için bir satır yazdırılmalıdır. İşte bakması gereken şey şu:

System.out.println("You entered: "); 
    // return the entered array in double form 
for (int i = 0; i < myArray.length; i++) { 
    for (int j = 0; i < myArray[i].length; j++){ 
     System.out.print(myArray[i][j] + " "); 
    } 
    System.out.println(); 
} 
System.out.println("The sums are: "); 
// calculate the sums column by column and display the results 
    for(int column = 0; column < myArray[0].length; column++) { 
     double total = 0; 
     for(int row = 0; row < myArray.length; row++) 
      total += myArray[row][column]; 
     System.out.print(total + " "); 

    } 
+0

Teşekkür ederiz. Geriye kalan tek şey, yazımdaki "kod" un ilk bloğunun sonunda gösterildiği gibi bir satırda yazdırılacak toplamlara ihtiyacım olmasıdır. –

+0

Cevabımı şimdi kontrol edin, yorumunuzla ilgili bazı şeyler ekledim. –

+0

Teşekkürler. İşe yaradı! –

İlgili konular