第3章 随机点名器案例

3.1 案例介绍
随机点名器,即在全班同学中随机的打印出一名同学名字。
要做的随机点名器,它具备以下3个内容:
 存储所有同学姓名
 总览全班同学姓名
 随机点名其中一人,打印到控制台
在编写案例前,我们先来学习下本案例中所涉及到的知识点:
 数组

3.2 案例需求分析
在全班同学中随机的打印出一名同学名字。
我们对本案例进行分析,得出如下分析结果:
1.存储全班同学名字
2.打印全班同学每一个人的名字
3.在班级总人数范围内,随机产生一个随机数,查找该随机数所对应的同学名字
在存储同学姓名时,如果对每一个同学都定义一个变量进行姓名存储,则会出现过多孤立的变量,很难一次性将全部数据持有。此时,我们可以使用数组解决多个数据的存储问题。

/*
随机点名器,即在全班同学中随机的打印出一名同学名字。
要做的随机点名器,它具备以下3个内容:
	存储所有同学姓名
	总览全班同学姓名
	随机点名其中一人,打印到控制台
在编写案例前,我们先来学习下本案例中所涉及到的知识点:
	数组

*/
//需要键盘输入所有同学姓名
import java.util.Scanner;
//产生随机数Random
import java.util.Random;
public class CallName_1{
	public static void main(String[] args){
		//键盘输入所有同学姓名,设置容器
		String[] names = new String[3];
		
		//Scanner创建对象实例
		Scanner sc = new Scanner(System.in);
		
		//存储所有同学姓名
		//循环遍历接受控制台录入的字符串
		for(int i = 0;i < names.length;i++){
			System.out.println("接受第" + i + "同学姓名");
			names[i] = sc.next();//接受录入的字符串
		}
		
		//创建Random实例
		Random ran = new Random();
		System.out.println("随机点名开始");
		int i = 0;
		while(true){
			//使用方法生成随机数索引来点名
		    int index = ran.nextInt(names.length);//刚好这样索引能随机取到数组中任何个姓名
			System.out.println(names[index]);			
			i++;
			if(i == names.length){
				System.out.println("随机点名结束");
				break;
			}
		}

	}
	
}

在这里插入图片描述
第4章 总结
4.1 知识点总结
 数组
 它是一个用来存储同一个数据类型多个元素的一个容器(数组长度是固定的,数组中存储的元素的数据类型要求一致)
 格式:
格式1:
数据类型[] 数组名 = new 数据类型[数组长度];

		格式2:
			数据类型[] 数组名 = new 数据类型[]{元素值1,元素值2,..};
			
		格式3:
			数据类型[] 数组名 = {元素值1,元素值2,..};

 数组操作的常见问题:
NullPointerException: 空指针异常
ArrayIndexOutOfBoundsException: 数组越界异常
 二维数组:
 它是一个包含多个一维数组的数组
 特点:二维数组中的每个元素都是一个一维数组
 格式:
格式1:
数据类型[][] 数组名 = new 数据类型[m][n];
m: 代表二维数组中一维数组的个数
n: 代表每个一维数组中元素的个数
格式2:
数据类型[][] 数组名 = new 数据类型[m][];
m: 代表二维数组中一维数组的个数
每一个一维数组通过赋值来确定数组长度
格式3:
数据类型[][] 数组名 = {{元素值1,元素值2,…},{元素值1,元素值2,…},…};

猜你喜欢

转载自blog.csdn.net/weixin_40807247/article/details/83035353
今日推荐