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();
}
}
}
Java的二维数组的应用及杨辉三角的编写的更多相关文章
- 实验----Java的二维数组的应用及杨辉三角的编写
(1) 编写一个程序,生成一个10*10的二维随机整数数组,并将该数组的每行最大值保存于一个一维数组中,将每列平均值保存于另外一个一维数组中并分别输出. (2) 编程输出杨辉三角的前10行. 找出一个 ...
- Java基础--二维数组
1.二维数组的定义 二维数组表示行列二维结构,在栈空间中的二维数组的地址指向堆空间中的一维数组,堆空间中的一维数组的地址又指向一维数组所在的内存空间. 2.二维数组的声明 二维数组声明有3种方式,推荐 ...
- java、二维数组详解!
/* java 二维数组的概念 使用方法! 1.什么是二维数组? 答案:数组的数组! 他的每一个元素都是数组!二维数组是(存储一维数组的)一维数组. 2.如何定义?(以二维数组为列) int arr[ ...
- 剑指offer编程题Java实现——二维数组中的查找
题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 下面是我实现的代码 ...
- 晓莲说-何不原创:java 实现二维数组冒泡排序
新手从业路-为自己回顾知识的同时,也希望和大家分享经验: 话不多说,上代码 public class 冒泡排序 { /** * @param admin * @2017.12.4 ...
- 题目一:使用Java实现二维数组中的查找
考点:数组 题目:二维数组中的查找 描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判 ...
- Java Array二维数组使用
二维数组:元素为一维数组的数组 package myArray.arrayarray; /* *二维数组:元素为一维数组的数组 * * 定义格式: * A:数组类型[][] 数组名: (推荐用法) * ...
- Java数组的应用:案例:杨辉三角,三维数组,字符串数组
//import java.util.Arrays; //包含Arrays //import java.util.Random; public class HelloWorld { public st ...
- 【转载】java定义二维数组问题。分清数组与集合的区别
出处: 度娘知道 答案由用户{ heitianba }提供. Q: int a[][] = new int[3][2]; a[0] = {1,6}; 报错:第二句是非法表达式.为什么? A: in ...
随机推荐
- 第一天 :学习node.js
① node.js环境配置 我学过的语言最简单的一门 直接百度就可以配置 ② 每个入门 的程序都是从helloworld开始 代码如下 : var http=require('http'); http ...
- 41个Web开发者JavaScript实用小技巧
1. 将彻底屏蔽鼠标右键 oncontextmenu="window.event.returnValue=false" < table border oncontextmen ...
- 使用JQuery Ajax请求,在Controller里获取Session
昨天在做项目的时候,两个平台之间的切换,虽然两个网站的Session都指向了同一台机子,但是通过Ajax方式来请求时,就是不能获取到Session的值. 在调试的过程中发现,原来是Session的Is ...
- CountDownLatch如何使用
正如每个Java文档所描述的那样,CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行.在Java并发中,countdownlatch的概念是一 ...
- 偶的《javascript框架设计》终于出版
#cnblogs_post_body p{ text-indent:2em!important; } 历时两年多,我的书终于付梓出版了.应各方面的要求,写软文一篇,隆重介绍一下此书对各位程序员的钱途有 ...
- uml的四种关系
UML的四种常用关系: 泛化关系.关联关系.实现关系.依赖关系 其中泛化关系是指父类与子类之间的继承关系: 实现关系是指接口与实现类之间的关系: 依赖关系和关联关系的区别如下: 只要存在对象间的交互, ...
- Python中出现的异常
简单的写几种我知道的关于Python中出现的异常含义,希望大神批评指正,我只是学软件开发的菜鸟,前面的路还很长,我会努力学习! 什么是异常? 异常既是一个事件,该事件会在程序执行过程中发生,影响了程序 ...
- SQL SELECT SET
SELECT SET 同时对多个变量同时赋值时 支持 不支持 表达式返回多个值时 将返回的最后一个值赋给变量 出错 表达式未返回值时 变量保持原值 变量被赋null值
- redis命令String
$ keys * $ rename oldkey newkey $ renamex oldkey newkey 新key存在抛出异常 $ dbsize $ expire key 时间(秒) $ ttl ...
- CSharper 学Quick-Cocos2d-X (一) 开发环境的搭建
前言 本来想写CSharper 学Cocos2dx系列的.但是最近在了解许多跨平台游戏开发框架后 最终决定使用Quick-cocos2d-x+lua进行第一个游戏项目的开发.经过一天多的折腾 终于 ...