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){
ArrayListlist=new ArrayList();
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 choice=sc.nextInt();
switch(choice){
case 1:{
addStudent (list);
break;
}
case 2:{
printStudent (list);
break;
}
case 3:{
randomStudent(list);
break;
}
case 4:{
}
}
}
}注意主函数结束的位置,,,java中主函数调用本类方法为什么要是静态的
public static void addStudent(ArrayListlist)
{///如何不用static会显示 : 错误: 无法从静态上下文中引用非静态 方法 addStudent(ArrayList)
Scanner sc=new Scanner(System.in);
for(int i=0;i<3;i++)
{
Student s=new Student();
s.name=sc.next();
s.age=sc.nextInt();
list.add(s);
}
}
public static void printStudent (ArrayListlist)
{
for(int i=0;i<list.size();i++)
{
Student s=list.get(i);
System.out.println(“姓名”+s.name+“年龄”+s.age);
}
}
public static void randomStudent(ArrayListlist)
{
int index=new Random().nextInt(list.size());
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];//z直接返回对象
}
}