簡體   English   中英

在java中創建一個二維(2D)數組

[英]create a two dimensional (2D) array in java

我正在研究一個計算數組平均值的java代碼,它可以完美地服務於它的目的,但我想將它修改為一個二維數組(二維)。

import java.util.*;
public class Test3{
   public static void main(String [] args){
      Scanner adnan = new Scanner(System.in);
      System.out.println("Enter the length of the array : ");
      int length = adnan.nextInt();
      int [] input = new int [length];
      System.out.println("Enter Numbers : ");
      for ( int i = 0; i < length; i++){
         input [i] = adnan.nextInt();
      }
      float average = average(input);
      System.out.println("Average of all numbers in the array : " + average);
      adnan.close();
   }
   public static float average(int [] input){
      float sum = 0f;
      for ( int number : input){
         sum = sum + number;
      }
      return sum / input.length;
   }
}

任何幫助將不勝感激,因為我不太擅長二維數組。

Java中,使用雙括號T [][]聲明 2D 數組:

public static void main(String[] args) {

    // mock to not to use a stdin redirection or enter data manually
    ByteArrayInputStream system_in = new ByteArrayInputStream("3 2 5 8 1 6 7 2".getBytes(UTF_8));

    Scanner adnan = new Scanner(system_in);

    System.out.println("Enter rows number: ");
    final int rows = adnan.nextInt();

    System.out.println("Enter rows number: ");
    final int cols = adnan.nextInt();

    final int [][] input = new int[rows][cols];

    System.out.println("Enter Numbers : ");
    for (int row = 0; row < rows; row++) {
        for (int col = 0; col < cols; col++) {
            input[row][col] = adnan.nextInt();
        }
    }
    double average = average(input);
    System.out.println("Average of all numbers in the array : " + average);
    adnan.close();
}

public static double average(int[][] input) {
    // use streams or you can use the `Enter Numbers...` way
    return Arrays.stream(input)
            .flatMap(x -> Arrays.stream(x).boxed())
            .mapToInt(x -> x).average()
            .getAsDouble();
}

帶輸出

Enter rows number: 
Enter rows number: 
Enter Numbers : 
Average of all numbers in the array : 4.833333333333333

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM