006数组与多维数组

数组概念

image-20210116092645758

image-20210116092725660

一维数组

image-20210116092926061

image-20210116093130656

image-20210116093230434

image-20210116093324922

image-20210116093438032

练习1:打印电话号

package com.atguigu.exer;

public class ArrayDemo01 {
	public static void main(String[] args){
		String tel = "";
		int[] arr1 = new int[]{6,7,4,2,1,3,9,8,5};
		int[] index = new int[]{4,5,8,3,2,8,1,0,2,7,6};
		for(int i = 0; i < index.length; i++){
			tel += arr1[index[i]];
		}
		System.out.println(tel);

	}
}

练习2:评价学生考试成绩

package com.atguigu.exer;

/*
 * 从键盘读入学生成绩,找出最高分,  并输出学生成绩等级。
 * 成绩>=最高分-10		等级为’A’
 * 成绩>=最高分-20		等级为’B’
 * 成绩>=最高分-30		等级为’C’
 * 其余					等级为’D’
 * 
 * 提示:先读入学生人数,根据人数创建int数组, 存放学生成绩。
 * 
 */
import java.util.Scanner;

public class ArrayDemo02 {
	public static void main(String[] args) {
		// 1.获得用户数量
		Scanner scanner = new Scanner(System.in);
		System.out.print("请输入学生人数: ");
		int stuNumber = scanner.nextInt();
		// 2.根据用户输入的长度,创建数组
		int[] arrNumber = new int[stuNumber];
		// 3.根据用户输入的人数,依次读取成绩,存入到数组中,找出最高成绩,并输出
		int max = 0;
		for (int i = 0; i < arrNumber.length; i++) {
			arrNumber[i] = scanner.nextInt();
			if (arrNumber[i] > max) {
				max = arrNumber[i];
			}
		}

		System.out.println("最高分数为: " + max);
		// 4.依照最高分数,判断其他人的成绩
		for (int i = 0; i < arrNumber.length; i++) {
			System.out.print("student " + i + " score is " + arrNumber[i] + " grade is ");
			if (arrNumber[i] >= max - 10) {
				System.out.println("A");
			} else if (arrNumber[i] >= max - 20) {
				System.out.println("B");
			} else if (arrNumber[i] >= max - 30) {
				System.out.println("C");
			} else {
				System.out.println("D");
			}
		}

	}
}

多维数组

image-20210116110318491

image-20210116110411214

image-20210116110529724

image-20210116110745881

练习1:判断执行结果

image-20210117095041001

练习2:打印杨辉三角

package com.atguigu.java;
/*
 * 使用二维数组打印一个 10 行杨辉三角
 * 
 */
public class ArrayDemo02 {
	public static void main(String[] args){
		//1.创建一个二维数组
		int[][] yangHui = new int[10][];
		//2.为二维数组的头尾各赋值1
		for(int i = 0; i < yangHui.length; i++){
			yangHui[i] = new int[i+1];
			yangHui[i][0] = 1;
			yangHui[i][i] = 1;
			//3.将第三步合入第二步中,将剩余空间进行赋值
			for(int j = 1; j < yangHui[i].length - 1; j++){
				yangHui[i][j] = yangHui[i-1][j-1]+yangHui[i-1][j];
			}
		}

		//3.打印测试
		for(int i = 0; i < yangHui.length; i++){
			for(int j = 0; j < yangHui[i].length; j++){
				System.out.print(yangHui[i][j] + "	");
			}
			System.out.println();
		}
	}
}

练习3:拓展思考题

package com.atguigu.java;

import java.util.Arrays;

/*
 * 创建一个长度为6的int型数组,要求数组元素的值都在1-30之间,且是随机赋值。
 * 同时,要求 元素的值各不相同。
 */

public class ArrayDemo03 {
	public static void main(String[] args){
		//1.创建数组
		int[] result = new int[6];
		//2.产生随机数进行赋值
		for(int i = 0; i < result.length; i++){
			int randNumber = (int)(Math.random()*30+1);
			result[i] = randNumber;
			//判断数组中是否有重复的数字
			for(int j = 0; j < i; j++){
				if(result[i]==result[j]){
					i--;
					break;
				}
			}	
		}
		//3.测试输出
		System.out.println(Arrays.toString(result));	
	}
}

原文地址:https://www.cnblogs.com/Notesdata/p/14403172.html