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,…},…};