欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java随机点名器案例

程序员文章站 2022-07-11 20:58:22
...
案例介绍
随机点名器,即在全班同学中随机的找出一名同学,打印这名同学的个人信息。
需具备以下3个内容:
1)存储所有同学姓名
2)总览全班同学姓名

3)随机点名其中一人,打印到控制台

需求分析
全班同学中随机的找出一名同学,打印这名同学的个人信息。
1)存储全班同学信息(姓名、年龄)
2)打印全班同学每一个人的信息(姓名、年龄)
3)在班级总人数范围内,随机产生一个随机数,查找该随机数所对应的同学信息(姓名、年龄)
随机点名器明确地分为了三个功能。如果将多个独立功能的代码写到一起,则代码相对冗长,我们可以针对不同的功能可以将其封装到一个方法中,将完整独立的功能分离出来。

而在存储同学姓名时,如果对每一个同学都定义一个变量进行姓名存储,则会出现过多孤立的变量,很难一次性将全部数据持有。此时,采用ArrayList集合来解决多个学生信息的存储问题。

实现代码步骤

每名学生都拥有多项个人信息,为了方便管理每个人的信息,对学生信息进行封装,Student.java

/**
 * 学生信息类
 */
public class Student {
	String name; //姓名
	int age; //年龄
}

编写CallName.java文件

import java.util.ArrayList;
import java.util.Scanner;
import java.util.Random;
public class CallName {
	public static void main(String[] args) {
		ArrayList<Student> list = new ArrayList<Student>(); //1.1创建一个可以存储多个同学名字的容器
		/*
		 * 1.存储全班同学信息
		 */
		addStudent(list);
		/*
		 * 2.打印全班同学每一个人的信息(姓名、年龄)
		 */
		printStudent(list);
		/*
		 * 3.随机对学生点名,打印学生信息
		 */
		randomStudent(list);
	}
	/**
	 * 1.存储全班同学名字
	 */
	public static void addStudent(ArrayList<Student> list) {
		//键盘输入多个同学名字存储到容器中
		Scanner sc = new Scanner(System.in);
		for (int i = 0; i < 3; i++) {
			//创建学生
			Student s = new Student();
			System.out.println("存储第"+i+"个学生姓名:");
			s.name = sc.next();
			System.out.println("存储第"+i+"个学生年龄:");
			s.age = sc.nextInt();
			//添加学生到集合
			list.add(s);
		}
	}
	/**
	 * 2.打印全班同学每一个人的信息(姓名、年龄)
	 */
	public static void printStudent (ArrayList<Student> list) {
		for (int i = 0; i < list.size(); i++) {
			Student s = list.get(i);
			System.out.println("姓名:"+s.name +",年龄:"+s.age);
		}
	}

	/**
	 * 3.随机对学生点名,打印学生信息
	 */
	public static void randomStudent (ArrayList<Student> list) {
		//在班级总人数范围内,随机产生一个随机数
		int index = new Random().nextInt(list.size());
		//在容器(ArrayList集合)中,查找该随机数所对应的同学信息(姓名、年龄)
		Student s = list.get(index);
		System.out.println("被随机点名的同学:"+s.name + ",年龄:" + s.age);
	}

}

控制台运行 javac CallName.java   java CallName,即可实现我们需要的预期功能。

本文结。


相关标签: java