zoukankan      html  css  js  c++  java
  • 实验----Java的二维数组的应用及杨辉三角的编写

    (1) 编写一个程序,生成一个10*10的二维随机整数数组,并将该数组的每行最大值保存于一个一维数组中,将每列平均值保存于另外一个一维数组中并分别输出。

    (2) 编程输出杨辉三角的前10行。

    找出一个,即该位置上的元素在该行上最大,在该列上最小(注:一个二维数组也可能没有这样的鞍点)。

    /**
    *
    * @author liuhui
    *@version Java上机实验三
    *@time 2016.10.30
    */

    public class javatest2 {
      public static int line = 0,row = 0;
      public static void main(String[] args) { //主函数
      int b[][] = array();
      int c[] = linearArray(b);
      double d[] = average(b);
      printArrayOne(b);
      System.out.println();
      printArrayTwo(c);
      System.out.println();
      printArrayTwo(d);
      System.out.println();
      triangle aTriangle = new triangle();

      aTriangle.print();
      int f[] = saddle(b, c);
      for(int i=0;i<f.length;i++)
      {
        if(f[i]==-1)
        break;
      else
        System.out.print(f[i]+" ");
      }

    }

    public static int[][] array() //获得随机二维数组
    {
      int a[][] = new int[10][10];
      for(int i=0;i<10;i++)
      {
        for(int j=0;j<10;j++)
        {
          int r = (int) (Math.random()*10);
          a[i][j] = r;
         }
       }
      return a;
    }
    public static void printArrayOne(int a[][]) //打印二维数组
    {
      for(int i=0;i<10;i++)
      {
        System.out.println();
        for(int j=0;j<10;j++)
        {
           System.out.print(a[i][j]);  
           System.out.print(" ");
        }
      }
      System.out.println();
    }
    public static void printArrayTwo(int a[]) //打印一维数组
    {
      for(int i=0;i<10;i++)
      {
        System.out.print(a[i]+" ");
      }
    }
    public static void printArrayTwo(double a[])
    {
      for(int i=0;i<10;i++)
      {
      System.out.print(a[i]+" ");
      }
    }
    public static int[] linearArray(int a[][]) //求每行数组的最大值
    {
      int max = 0;

      int b[] = new int[10];
      for(int i=0;i<10;i++)
      {
        for(int j=0;j<10;j++)
        {
          if(max<a[i][j])
          {
            max = a[i][j];
            line = i;
            row = j;
          }
        }
        b[i] = max;
        max = 0;
      }
      return b;
    }
    public static double[] average(int a[][]) //求每列数组的平均数
    {
      double b[] = new double[10];
      double sum = 0.0;
      for(int i=0;i<10;i++)
      {
        for(int j=0;j<10;j++)
        {
          sum = sum +a[i][j];
        }
        b[i] = sum/10;
        sum = 0.0;
      }
      return b;
    }
    public static int []saddle(int a[][],int b[]) //判断鞍点
    {
      int c[] = new int [10];
      int m = 0;
      boolean k = true;
      for(int i=0;i<10;i++)
      {
        for(int j=0;j<10;j++)
        {
          if(b[i]>a[j][row])
          {
            k = false;
            break;
          }
        }
        if(k==true)
        {
          c[m] = b[i];
          m++;
        }
      }
      if(k==false)
      {
        System.out.println("没有鞍点");
        c[0] = -1;
      }
      return c;
      }
    }

    class triangle{ //做杨辉三角
    public void print()
      {
        int b[][] = new int[10][];
        for(int i=0;i<10;i++)
        b[i] = new int[i+1];
        for(int i=0;i<10;i++)
        {
          for(int j=0;j<b[i].length;j++)
          {
            if(i==0||j==0||j==b[i].length-1)
              b[i][j] = 1;
            else
              b[i][j] = b[i-1][j-1] + b[i-1][j];
          }
         }

         for(int i=0;i<10;i++)
          {
            for(int k=9-i;k>=1;k--)
            System.out.print(" ");
            for(int j=0;j<i+1;j++)
            {
              System.out.print(b[i][j]+" ");
             }
            System.out.println();
          }

        }
    }

  • 相关阅读:
    DES加密/解密
    HMACSha1加密方法
    .Net 计算文件大小函数
    maven项目打包
    08.29
    keep健身计划
    正则验证表单内容
    高德地图API
    Invalid location of tag (div)。
    08.15
  • 原文地址:https://www.cnblogs.com/liuhui5599/p/6014182.html
Copyright © 2011-2022 走看看