import java.util.ArrayList;
import java.util.Scanner;
import java.util.Random;
class Student {
String name;
int age;
}
public class Main1 {
public static void main(String[] args) {
ArrayList list = new ArrayList();
/*
addStudent(list);
printStudent(list);
randomStudent(list);
*/ while(true)
{
System.out.println(“学生随机点名系统==”);
System.out.println(“1.添加学生姓名”);
System.out.println(“2.遍历学生姓名”);
System.out.println(“3.随机学生姓名”);
System.out.println(“4.退出系统”);
Scanner sc=new Scanner(System.in);
int chioce=sc.nextInt();
switch(chioce) {
case 1:
{
addStudent(list);
break;
}
case 2:{
/*
* 2.打印全班同学每一个人的信息(姓名、年龄)
*/
printStudent(list);
break;
}
case 3:
{
randomStudent(list);
break;
}
}
}
}
public static void addStudent(ArrayList 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 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);
}
}
方法二
import java.util.Random;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
//定义数组,存储学生的姓名
String[] name = new String[3];
Scanner sc = new Scanner(System.in);
//功能选择菜单
//选择死循环、防止用户在操作的时候退出,直到客户选择退出
while (true){
//输入功能的数字,直有输入4才能够结束整个系统,否则还在整个系统当中
// int chooseNuber = chooseFunction();
// chooseFunction1();
int sum =sc.nextInt();
switch (sum){
case 1:
//1.添加学生姓名
System.out.println("=========正处于添加学生姓名进行中=============");
addStudentNmaes(name);
System.out.println("============添加学生姓名结束==================");
break;
case 2:
//2.遍历学生姓名
System.out.println("========正处于遍历学生姓名进行中==============");
prinStudentNames(name);
System.out.println("============遍历学生姓名结束==================");
break;
case 3:
//3.随机点名功能
System.out.println("=========正处于随机点名功能进行中================");
String ranName = RandmoStudentName(name);
System.out.println(ranName);
System.out.println("============随机点名功能结束...==================");
break;
case 4:
//结束程序
System.out.println("============已退出系统===========================");
return;
default:
System.out.println("系统暂时没有此项功能,还在完善中...");
break;
}
}
}
/*
* 添加学生姓名
* 定义方法,实现向数组中添加元素,可以通过获取键盘权限让用户在通过控制台键盘输入
*
* */
public static void addStudentNmaes(String[] name) {
//创建Scanner对象
Scanner sc = new Scanner(System.in);
for (int i = 0; i < name.length; i++) {
System.out.println("正在接受第" + i + "同学的姓名");
//用来接受控制台输入的字符串
name[i] = sc.next();
}
}
//遍历学生姓名
public static void prinStudentNames(String[] name) {
for (int i = 0; i < name.length; i++) {
System.out.println("第" + i + "个学生的姓名" + name[i ]);
}
}
//随机点名功能
public static String RandmoStudentName(String[] name) {
//创建Randmo随机数对象
Random ran = new Random();
int index = ran.nextInt(name.length);//随机产生0到length的数
return name[index];
}
}
也可以改成
import java.util.Random;
import java.util.Scanner;
public class Test66 {
public static void main(String[] args) {
//定义数组,存储学生的姓名
String[] name = new String[3];
Scanner sc = new Scanner(System.in);
//功能选择菜单
//选择死循环、防止用户在操作的时候退出,直到客户选择退出
while (true){
//输入功能的数字,直有输入4才能够结束整个系统,否则还在整个系统当中
// int chooseNuber = chooseFunction();
// chooseFunction1();
int sum =sc.nextInt();
switch (sum){
case 1:
//1.添加学生姓名
System.out.println("=========正处于添加学生姓名进行中=============");
**Callname**.addStudentNmaes(name);
System.out.println("============添加学生姓名结束==================");
break;
case 2:
//2.遍历学生姓名
System.out.println("========正处于遍历学生姓名进行中==============");
**Callname**.prinStudentNames(name);
System.out.println("============遍历学生姓名结束==================");
break;
case 3:
//3.随机点名功能
System.out.println("=========正处于随机点名功能进行中================");
String ranName = **Callname**.RandmoStudentName(name);
System.out.println(ranName);
System.out.println("============随机点名功能结束...==================");
break;
case 4:
//结束程序
System.out.println("============已退出系统===========================");
return;
default:
System.out.println("系统暂时没有此项功能,还在完善中...");
break;
}
}
}
}//主类
class Callname{///函数里面的static可以不去掉,但是,调用函数需要用。类.函数名()涉及静态函数的调用
///
public static void addStudentNmaes(String[] name) {
//创建Scanner对象
Scanner sc = new Scanner(System.in);
for (int i = 0; i < name.length; i++) {
System.out.println(“正在接受第” + i + “同学的姓名”);
//用来接受控制台输入的字符串
name[i] = sc.next();
}
}
//遍历学生姓名
public **static** void prinStudentNames(String[] name) {
for (int i = 0; i < name.length; i++) {
System.out.println("第" + i + "个学生的姓名" + name[i ]);
}
}
//随机点名功能
public **static** String RandmoStudentName(String[] name) {
//创建Randmo随机数对象
Random ran = new Random();
int index = ran.nextInt(name.length);//随机产生0到length的数
return name[index];
}
}
//或者,改用对象的调用,去掉static
import java.util.Random;
import java.util.Scanner;
public class Test66 {
public static void main(String[] args) {
//定义数组,存储学生的姓名
String[] name = new String[3];
Scanner sc = new Scanner(System.in);
Callname ca =new Callname();///建立对象
//功能选择菜单
//选择死循环、防止用户在操作的时候退出,直到客户选择退出
while (true){
//输入功能的数字,直有输入4才能够结束整个系统,否则还在整个系统当中
// int chooseNuber = chooseFunction();
// chooseFunction1();
int sum =sc.nextInt();
switch (sum){
case 1:
//1.添加学生姓名
System.out.println("=========正处于添加学生姓名进行中=============");
ca.addStudentNmaes(name);
System.out.println("============添加学生姓名结束==================");
break;
case 2:
//2.遍历学生姓名
System.out.println("========正处于遍历学生姓名进行中==============");
ca.prinStudentNames(name);
System.out.println("============遍历学生姓名结束==================");
break;
case 3:
//3.随机点名功能
System.out.println("=========正处于随机点名功能进行中================");
String ranName = ca.RandmoStudentName(name);
System.out.println(ranName);
System.out.println("============随机点名功能结束...==================");
break;
case 4:
//结束程序
System.out.println("============已退出系统===========================");
return;
default:
System.out.println("系统暂时没有此项功能,还在完善中...");
break;
}
}
}
}//主类
class Callname{///函数里面的static可以不去掉,但是,调用函数需要用。类.函数名()涉及静态函数的调用
///
public void addStudentNmaes(String[] name) {
//创建Scanner对象
Scanner sc = new Scanner(System.in);
for (int i = 0; i < name.length; i++) {
System.out.println(“正在接受第” + i + “同学的姓名”);
//用来接受控制台输入的字符串
name[i] = sc.next();
}
}
//遍历学生姓名
public void prinStudentNames(String[] name) {
for (int i = 0; i < name.length; i++) {
System.out.println("第" + i + "个学生的姓名" + name[i ]);
}
}
//随机点名功能
public String RandmoStudentName(String[] name) {
//创建Randmo随机数对象
Random ran = new Random();
int index = ran.nextInt(name.length);//随机产生0到length的数
return name[index];
}
}