(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();
      }

    }
}

实验----Java的二维数组的应用及杨辉三角的编写的更多相关文章

  1. Java的二维数组的应用及杨辉三角的编写

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

  2. Java基础--二维数组

    1.二维数组的定义 二维数组表示行列二维结构,在栈空间中的二维数组的地址指向堆空间中的一维数组,堆空间中的一维数组的地址又指向一维数组所在的内存空间. 2.二维数组的声明 二维数组声明有3种方式,推荐 ...

  3. java、二维数组详解!

    /* java 二维数组的概念 使用方法! 1.什么是二维数组? 答案:数组的数组! 他的每一个元素都是数组!二维数组是(存储一维数组的)一维数组. 2.如何定义?(以二维数组为列) int arr[ ...

  4. 剑指offer编程题Java实现——二维数组中的查找

    题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数.   下面是我实现的代码 ...

  5. 晓莲说-何不原创:java 实现二维数组冒泡排序

    新手从业路-为自己回顾知识的同时,也希望和大家分享经验: 话不多说,上代码 public class 冒泡排序 { /**     * @param admin     * @2017.12.4   ...

  6. 题目一:使用Java实现二维数组中的查找

    考点:数组       题目:二维数组中的查找   描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判 ...

  7. Java Array二维数组使用

    二维数组:元素为一维数组的数组 package myArray.arrayarray; /* *二维数组:元素为一维数组的数组 * * 定义格式: * A:数组类型[][] 数组名: (推荐用法) * ...

  8. Java数组的应用:案例:杨辉三角,三维数组,字符串数组

    //import java.util.Arrays; //包含Arrays //import java.util.Random; public class HelloWorld { public st ...

  9. 【转载】java定义二维数组问题。分清数组与集合的区别

    出处: 度娘知道 答案由用户{ heitianba }提供. Q: int a[][] = new int[3][2];  a[0] = {1,6};  报错:第二句是非法表达式.为什么? A: in ...

随机推荐

  1. vue插件——滚动监听 vue-scrollwatch

    造轮子的目的: 做项目的时候需要一个滚动监听的功能,html结构已经都写好了,不想使用vue组件的方式来写,因为不想改造html结构,于是花了几个小时做了一个简单的,使用vue指令方式来做的,项目上够 ...

  2. keil中使用Astyle格式化你的代码的方法-keil4 keil5通用

    简介:在给RTT 提交代码,需要符合RT-Thread 的代码规范,本文简单介绍如何使用Astyle 格式化为符合RTT要求的代码风格. 关于Astyle Astyle 的全称是Artistic St ...

  3. ESP8266乐鑫版本的(支持云端升级 (Boot 模式)烧写方法,(V1.5.4官方介绍如下)(BOOT模式)

    硬件平台: nodeMCU devkit核心板,带ch340g,应该是仿造的,官方是cp2102驱动,安信可科技有连接https://wiki.ai-thinker.com/esp8266/board ...

  4. 24.stark组件全部

    admin组件: 博客里面的图片的是在太难弄了,有大哥会弄给我贴一片博客,我一个一个加太累了,没有加 admin参考:https://www.cnblogs.com/yuanchenqi/articl ...

  5. JavaMail应用--通过javamail API实现在代码中发送邮件功能

    JavaMail应用   在日常开发中,可能会引用到发邮件功能,例如在持续集成中,自动化测试运行完毕,自动将测试结果以报表的形式发送邮件给相关人.那么在Java中如何实现发邮件呢? 在java EE ...

  6. MessagePack Java 0.6.X List, Map 对象的序列化和反序列化

    为了序列化原生的容器对象例如  List 和 Map 对象,你必须使用 Template. Template 对象是 serializer 和 deserializer 的配对.例如,为了序列化一个  ...

  7. JavaScript 实现文件下载并重命名

    第一种是HTML官网中的方法<a href="/images/liang.jpg" download="文件名称">HTML5 中 a 标签提供了一 ...

  8. linux 查看系统性能

    1. 查看内存和CPU信息 cat /proc/cpuinfo                   cpu信息 cat /proc/meminfo |grep MemTotal    内存信息 查看物 ...

  9. 关于数据上传阿里云MaxCompute调研

    1.背景 当前的数据存储基于mysql库表存储形式,目前已经无法满足愈加增大的数据存储需求,新项目基于Maxcompute数据仓库架构,需要将统计日志上传Maxcompute,本文对Maxcomput ...

  10. hbase数据导入

    hbase数据导入: 参考http://blog.csdn.net/hua840812/article/details/7414875,在把代码copy下来后,发现运行总是报错: java.io.IO ...