package com.StuInfo;
import java.util.*;
public class Test {
static ArrayList list=new ArrayList();
static Scanner input=new Scanner(System.in);
public static void main(String[] args) {
manageLogin();
}
// 系统菜单
public static void manageLogin() {
System.out.println("学员信息管理信统");
System.out.println("============");
System.out.println("1.录入学员信息");
System.out.println("2.根据学号查询学员信息");
System.out.println("3.修改学员信息");
System.out.println("4.根据学号删除学员信息");
System.out.println("5.统计学员平均考试成绩");
System.out.println("6.退出系统");
System.out.println("请输入菜单项:");
int num=input.nextInt();
switch(num){
case 1: addStu();break;
case 2:checkById();break;
case 3:update(); break;
case 4:delete(); break;
case 5: avg();break;
case 6:exit(); break;
}
}
//录入学员信息
public static void addStu(){
String answer="";
do{
answer="y";
Students stu=new Students();
System.out.print("请输入学生的学号: ");
String stuid=input.next();
System.out.println("请输入学生的姓名:");
String stuname=input.next();
System.out.println("请输入学生的年龄:");
int age=input.nextInt();
System.out.println("请输入学生的成绩");
int score=input.nextInt();
if(list.isEmpty()){
stu.setId(stuid);
stu.setName(stuname);
stu.setAge(age);
stu.setScore(score);
list.add(stu);
System.out.println("录入成功!");
manageLogin();
}else if(getById(stuid)==null){
stu.setId(stuid);
stu.setName(stuname);
stu.setAge(age);
stu.setScore(score);
list.add(stu);
System.out.println("录入成功!");
manageLogin();
}else{
System.out.println("此学生已经存在!");
manageLogin();
}
System.out.println("你是否要继续选择操作?y/n");
answer=input.next();
}while(answer.equals("y"));
}
//根据学号查询学员信息
public static void checkById(){
Students stu=new Students();
System.out.print("请输入您要查询学生的学号:");
String stuid=input.next();
Students s=getById(stuid);
if(list.isEmpty()){
System.out.println("该学生不存在");
manageLogin();
}else if(s!=null){
Students ww=getById(stuid);
System.out.println("该学员信息为:\n");
System.out.println("学号:"+ww.getAge());
System.out.println("姓名:"+ww.getName());
System.out.println("年龄:"+ww.getAge());
System.out.println("成绩:"+ww.getScore());
manageLogin();
}
}
//修改学员信息
public static void update(){
System.out.print("请输入您要修改学生的学号:");
int stuid=input.nextInt();
Students s=getById(stuid); //此行中getById方法报错,怎么回事?
if(list.isEmpty()){
System.out.println("无学生信息!");
}else if(s!=null){
System.out.println("改后姓名:");
String name=input.next();
System.out.println("改后年龄:");
int age=input.nextInt();
System.out.println("改后成绩:");
int score=input.nextInt();
s.setName(name);
s.setAge(age);
s.setScore(score);
System.out.println("修改成功!");
manageLogin();
}else{
System.out.println("该学生不存在!");
manageLogin();
}
}
//根据学号删除学员信息
public static void delete() {
System.out.println("请输入所要删除的学号:");
String stuid=input.next();
Students s=getById(stuid);
if(list.isEmpty()){
System.out.println("尚未存入信息!");
manageLogin();
}else if(s!=null){
list.remove(s);
System.out.println("删除成功");
manageLogin();
}else{
System.out.println("该学生不存在!");
manageLogin();
}
}
//统计学员平均考试成绩
public static void avg(){
System.out.println("平均成绩为:");
int num=list.size();
int sun=0;
if(list.isEmpty()){
System.out.println("未录入学生的信息!");
}else{
for(Students s:list){ //此行s:list 什么意思?
sun+=s.getScore();
}
System.out.println(sun/num);
manageLogin();
}
}
//退出系统
public static void exit(){
System.out.println("你确定要退出系统吗?"+"y/n");
String answer=input.next();
if(answer.equalsIgnoreCase("y")){
System.exit(0);
}else{
manageLogin();
}
}
public static Students getById(String id){
for(Students s:list){
if(s.getId().equals(id)){
return s;
}
}
return null;
}
}
int stuid = input.nextInt();
Students s = getById(stuid); //此行中getById方法报错,怎么回事?
//这个方法参数是Sting类型,你传的参数是int类型
public static Students getById(String id)
{
for (Students s : list)
{
if (s.getId().equals(id))
{
return s;
}
}
return null;
}
这一堆代码想要问什么?
嗯。有什么问题呢?
[quote]这一堆代码想要问什么?[/quote]
同问!
如果记得不错的话,这段代码是我在学校学习C语言,老师留给我们的编程C程序的作业。
[quote="王宝乐"][color=red]Students s=getById(stuid); //此行中getById方法报错,怎么回事?[/color][/quote]
你这是从什么地方COPY的代码,根据你上下代码判断,你这个应该是编译有问题,
[code="java"]
//参数类型不正确,getById()的参数是String类型的
int stuid=input.nextInt();// => String stuid = input.next();
Students s = getById(stuid);
[/code]
[quote]
[code="java"]
for(Students s:list){//此行s:list 什么意思?
sun+=s.getScore();
}[/code]
[/quote]