分享
三行代码  ›  专栏  ›  技术社区  ›  Arda Altun

如何在java中创建一个5x5矩阵并增加数字?

  •  0
  • Arda Altun  · 技术社区  · 1 周前

    我需要一个矩阵式的;

     1  0  0  0  0
     2  3  0  0  0
     4  5  6  0  0
     7  8  9 10  0
    11 12 13 14 15
    

    我做了一个满是零的矩阵;

     public class ExampleClass{ 
     public static void main(String args[]) { 
    
    
    
        int[][] Example =    new int [5][5];
    
            for(int i=0;i<Example.length;i++){
                for(int k=0;k<Example.length;k++)
                System.out.print(Example[i][k]+" ");
                System.out.println(); 
    
           }
        }
    }
    output:
               0  0  0  0  0  
               0  0  0  0  0  
               0  0  0  0  0  
               0  0  0  0  0  
               0  0  0  0  0  
    
    3 回复  |  直到 1 周前
        1
  •  1
  •   Balastrong    1 周前

    我会用另一个变量,假设它被调用 c :

    int c = 1;
    for(int i=0;i<Example.length;i++){
      for(int k=0;k<Example.length;k++)
        if (k <= i) {
          System.out.print(c++ +" ");
         } else {
           System.out.print(0 +" ");   
         }
      System.out.println(); 
    }
    

    或者,如果还需要适当的间距:

    int c = 1;
    for (int i = 0; i < Example.length; i++) {
        for (int k = 0; k < Example.length; k++) {
            if (k <= i) {
                if (c < 10) System.out.print(" ");
                System.out.print(" " + c++);
            } else {
                System.out.print("  " + 0);
            }
    
        }
        System.out.println();
    }
    

      1  0  0  0  0
      2  3  0  0  0
      4  5  6  0  0
      7  8  9 10  0
     11 12 13 14 15
    
        2
  •  0
  •   davidbuzatto    1 周前

    数值在主对角线下方,包括主对角线。所有这些值都在 i j ,其中 j型 是下面示例中的列索引。

    public static void main( String[] args ) {
    
        int[][] m = new int[5][5];
        int count = 1;
    
        for ( int i = 0; i < m.length; i++ ) {
            for ( int j = 0; j < m.length; j++ ) {
                if ( j <= i ) {
                    m[i][j] = count++;
                } else {
                    m[i][j] = 0;
                }
            }
        }
    
        for ( int i = 0; i < m.length; i++ ) {
            for ( int j = 0; j < m.length; j++ ) {
                System.out.printf( "%2d ", m[i][j] );
            }
            System.out.println();
        }
    
    }
    

    如果只需要打印值,可以执行以下操作:

    public static void main( String[] args ) {
    
        int size = 5;
        int count = 1;
    
        for ( int i = 0; i < size; i++ ) {
            for ( int j = 0; j < size; j++ ) {
                if ( j <= i ) {
                    System.out.printf( "%2d ", count++ );
                } else {
                    System.out.printf( "%2d ", 0 );
                }
    
            }
            System.out.println();
        }
    
    }
    
        3
  •  0
  •   Arvind Kumar Avinash    1 周前

    按以下步骤操作:

    public class Main {
        public static void main(String[] args) {
            int[][] example = new int[5][5];
            int x = 1;
    
            // Initialize
            for (int i = 0; i < example.length; i++) {
                for (int k = 0; k <= i && k < example[i].length; k++) {
                    example[i][k] = x++;
                }
            }
    
            // Display
            for (int i = 0; i < example.length; i++) {
                for (int k = 0; k < example[i].length; k++) {
                    System.out.printf("%3d", example[i][k]);
                }
                System.out.println();
            }
        }
    }
    

      1  0  0  0  0
      2  3  0  0  0
      4  5  6  0  0
      7  8  9 10  0
     11 12 13 14 15
    

    而且,总是跟着 Java naming conventions e、 g.变量, Example example .