Java案例:隨機點名器


案例介紹:

隨機點名器,即在全班同學中隨機的找出一名同學,打印這名同學的個人信息。
需具備以下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); } }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM