Java数组练习之随机点名器

数组练习(随机点名器)

编写一个随机点名的程序,使其能够在全班同学中随机点中某一位同学的名字。点名器具备三个功能,储存全班同学姓名、总览全班同学姓名和随机点取其中一人姓名。

总体来说,难度不是很大,实现三个功能,分别将三个功能封装到不同的方法之中,之后在main()方法中进行调用。

addstudent()方法用来添加学生。

printstudent()方法用来打印总览学生。

String name = randomstudent()方法用来实现随机点名。

import java.util.Random;
import java.util.Scanner;
public class callName {
    public static void main(String[] args) {
        System.out.println("------------随机点名器------------");
        String[] student =  new String[10];
        Scanner sc = new Scanner(System.in);
        System.out.println("您的学生数量为:");
        int i = sc.nextInt();
        boolean flag = true;
        System.out.println();
        while(flag){
            System.out.println("请选择序号来进行下一步操作:");
            System.out.println("================================");
            System.out.println("      (1)添加学生");
            System.out.println("      (2)浏览学生");
            System.out.println("      (3)随机点名");
            System.out.println("      (4)退   出");
            int n = sc.nextInt();
        switch (n){
            case 1:{
                addstudent(student,i);
                System.out.println();
                break;
            }
            case 2:{
                printstudent(student,i);
                System.out.println();
                break;
            }
            case 3:{
             String name = randomstudent(student,i);
                System.out.println("   被点到名字的同学是:"+name);
                break;
            }
            case 4:{
                flag = false;
                break;
            }
            default:{
                System.out.println("      输入错误,请重新输入!");
                System.out.println();
                break;
            }
          }
        }
    }
    public static void addstudent(String[] stu,int i){//添加学生
        Scanner sc = new Scanner(System.in);
        int a = 0;
        for (a = 0; a<i; a++ ){
            System.out.println("  储存第"+(a+1)+"个姓名:");
               stu[a] = sc.next();
        }
    }
    public static void printstudent(String[] stu,int i){//遍历打印数组中的数据
        System.out.println("您的学生有:");
        for (int a = 0; a<i; a++ ){
            System.out.print(" "+ stu[a] +" ");
        }
        System.out.println();
    }
    public static String randomstudent(String[] stu,int i){//随机点名并打印
        int a = new Random().nextInt(i);
        System.out.println("      第"+(a+1)+"个同学被点到了!");
        String name = stu[a];
        return name ;
    }
}

测试:
------------随机点名器------------
您的学生数量为:
3

请选择序号来进行下一步操作:
================================1)添加学生
      (2)浏览学生
      (3)随机点名
      (4)退   出
1
  储存第1个姓名:
韦德
  储存第2个姓名:
詹姆斯
  储存第3个姓名:
科比

请选择序号来进行下一步操作:
================================1)添加学生
      (2)浏览学生
      (3)随机点名
      (4)退   出
2
您的学生有:
 韦德  詹姆斯  科比 

请选择序号来进行下一步操作:
================================1)添加学生
      (2)浏览学生
      (3)随机点名
      (4)退   出
33个同学被点到了!
      被点到名字的同学是:科比
请选择序号来进行下一步操作:
================================1)添加学生
      (2)浏览学生
      (3)随机点名
      (4)退   出
33个同学被点到了!
      被点到名字的同学是:科比
请选择序号来进行下一步操作:
================================1)添加学生
      (2)浏览学生
      (3)随机点名
      (4)退   出
33个同学被点到了!
      被点到名字的同学是:科比
请选择序号来进行下一步操作:
================================1)添加学生
      (2)浏览学生
      (3)随机点名
      (4)退   出
32个同学被点到了!
      被点到名字的同学是:詹姆斯
请选择序号来进行下一步操作:
================================1)添加学生
      (2)浏览学生
      (3)随机点名
      (4)退   出
32个同学被点到了!
      被点到名字的同学是:詹姆斯
请选择序号来进行下一步操作:
================================1)添加学生
      (2)浏览学生
      (3)随机点名
      (4)退   出
32个同学被点到了!
      被点到名字的同学是:詹姆斯
请选择序号来进行下一步操作:
================================1)添加学生
      (2)浏览学生
      (3)随机点名
      (4)退   出
31个同学被点到了!
      被点到名字的同学是:韦德
请选择序号来进行下一步操作:
================================1)添加学生
      (2)浏览学生
      (3)随机点名
      (4)退   出
4

Process finished with exit code 0


  • 4
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值