<>二维数组的使用

二维数组 arr[ 2 ] [ 3 ]的元素是一维数组,如果访问第2个数组的第2个元素是arr[2][2]

<>二位数组语法

语法:类型[ ] [ ]数组名 = new 类型[ 大小] [大小 ]

语法: 类型 数组名 [ ] [ ] ; 数组名 = new 类型[大小 ] [大小 ]

语法:类型 数组名 [ ] [ ] = { {1,2,3} , {4,5,6,7,8} , {2,3,1} }
/* 打印 00000 00100 01240 14656 */ public class text { public static void main(
String[] args) { int [][]arr = {{0,0,0,0,0},{0,0,1,0,0},{0,1,2,4,0},{1,4,6,5,6}}
; for(int i = 0;i < arr.length; i++) { //arr.length指的是二维数组元素的个数 for(int k = 0 ;
k< arr[i].length ; k++) {//arr[i].length指的是二维数组元素的个数 System.out.print(arr[i][k]+
"\t"); } System.out.println(); } } }

打印m数组 1 2 2 3 3 3 public class text { public static void main(String[] args) {
int m[][] = { {1},{2,2},{3,3,3} }; for(int i = 0; i<m.length; i++ ) {
//遍历二维数组中的3个数组 for(int k = 0; k <m[i].length ; k++) { System.out.print(m[i][k]+
"\t");//遍历每个数组的每个元素 } System.out.println(); } } }

二维数组打印乘法口诀表
public class text { public static void main(String[] args) { int m[][] = new
int [9][] ; //列数不确定,可以不写 for(int i = 0; i<m.length; i++ ) { //遍历二维数组中的3个数组 m[i]
= new int [ i+1]; //循环开启二维数组中的每个一维数组,而且 i+1 影响着下面 m[i].length的长度 for(int k = 0;
k<m[i].length ; k++) { m[i][k]= i + 1; System.out.print(m[i][k]+"*"+(k+1)+"="+m[
i][k]*(k+1)+"\t");//遍历每个数组的每个元素 } System.out.println(); } } }

打印十行杨辉三角
public class text { public static void main(String[] args) { int m[][] = new
int[10][];//定义一个十行的二维数组 for(int i = 0; i < m.length;i++ ) { m[i]= new int [i +1]
; // 开辟m[0],m[1]........m[9]不同的空间 for(int k =0; k < m[i].length; k++) {
//遍历二元数组中每一个一元数组内包含的全部元素 if( (k == 0) || (k == m[i].length -1 )) { m[i][k]=1; }
else { m[i][k]= m[i-1][k-1]+m[i-1][k]; } } } for(int i = 0; i < m.length;i++ ) {
for( int k =0; k < m[i].length; k++) { System.out.print(m[i][k]+"\t"); } System.
out.println(); } } }

一个数组{10,12,45,90}是升序,要求插入一个数后,还是升序
public class text { public static void main(String[] args) { int arr[] = {10,12
,45,90}; int insertNum = 23; int index = -1;// index就是要插入的位置 //**定位**
//设一个变量index用于接收下标i,依次遍历 插入的数inserNum 和 原数组的元素arr[i] 进行比较, // 若
插入数insertNum小,则用index获取当前元素下标i; 否则将接收下标的index赋予最大下标arr[arr.length] for(int i= 0;
i<arr.length;i++) { if( insertNum <= arr[i]) { index = i; break; } } if(index ==
-1) { index = arr.length; } System.out.println("定位index的位置是 "+index); //**扩容**
//创建一个新的数组,并将原先的数组依次赋值给新数组 int arr_new[] = new int [arr.length+1]; for (int i =
0,j=0; i < arr_new.length; i++) { if( i != index ) { arr_new[i] = arr[j]; j++; }
else { arr_new[i] = insertNum; } } // 让arr指向arr_new,回收原来arr的空间 arr = arr_new;
//遍历输出 System.out.println("-----添加过后的排序-----"); for(int i=0;i<arr.length;i++) {
System.out.print(arr[i]+"\t"); } } }

彩票实现
import java.util.Random; import java.util.Scanner; public class text {
//创建一个函数,用于换行 public static void nt () { System.out.println(""); System.out.
println(""); System.out.println(""); } public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); Random rand = new Random();
//用于随机每个红蓝球 int redArr[] = new int[6]; int blueArr[] = new int[1]; //用于接收用户每个红蓝球
int insertRed[] = new int[6]; int insertBlue[] = new int[1]; //随机红蓝号码 for(int i
= 0; i<redArr.length; i++) { redArr[i] = rand.nextInt(33 - 1 + 1) + 1; } blueArr
[0] = rand.nextInt(16 - 1 + 1) + 1; //匹配红蓝中奖号码 int index1 = 0; //用于定义红球中的次数 int
index2= 0;//用于定义蓝球中的次数 int num =1; for(int i = 0; i<redArr.length; i++) { System
.out.println("请输入第"+num+"红色球号码[1-33]"); insertRed[i] = scanner.nextInt(); num++;
for(int j =0 ; j<redArr.length; j++) { if(insertRed[i] == redArr[j] ) { index1++
; } } } System.out.println("请输入1个蓝色球号码[1-16]"); insertBlue[0] = scanner.nextInt(
); if(insertBlue[0] == blueArr[0] ) { index2++; } nt (); if( index1== 6 &&
index2== 1 ) { System.out.println("天哪,欧皇降临,获得一等奖1000万元"); } else if( index1== 6
) { System.out.println("运气爆棚,获得二等奖500万元"); } else if( index1== 5 && index2 == 1
) { System.out.println("不错呦,获得三等奖3000元"); } else if( index1== 5 || (index1==4 &&
index2== 1) ) { System.out.println("嘿嘿,获得四等奖200元"); } else if( index1== 4 || (
index1==3 && index2 == 1) ) { System.out.println("哦吼,获得五等奖10元"); } else if(
index2== 1 ) { System.out.println("不赖不赖,获得六等奖5元"); } else { System.out.println(
"谢谢惠顾,感谢你为民生做出贡献"); } nt(); System.out.println("是否查看本次福利彩票中奖号码(y/n)"); char x =
scanner.next().charAt(0); if( x == 'y') { //公布最终获奖号码。 System.out.println(
"****本次彩票中奖号码为****"); nt(); System.out.println("红球分别是"); for(int i = 0; i<redArr
.length; i++) { System.out.print(redArr[i]+"\t"); } nt(); System.out.println(
"蓝球分别是"); for(int i = 0; i<blueArr.length; i++) { System.out.print(blueArr[i]+
"\t"); } nt(); } } }
<>二维数组的注意事项

定义方式
一维: int arr [ ] = new int [x ]; 二维: int arr [ ][ ] = new int [ x][ y];
二位数组是由多个一位数组组成的,它的各个一位数组的长度可以相同,也可以不相同
arr [ ][ ] = { {1,23},{43,65,76},{22,56…87.33,24} }

技术
今日推荐
下载桌面版
GitHub
百度网盘(提取码:draw)
Gitee
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:766591547
关注微信