鱼C论坛

 找回密码
 立即注册
查看: 3258|回复: 4

学生管理系统

[复制链接]
发表于 2020-4-11 16:31:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
import java.util.Arrays;
import java.util.Scanner;
public class Demo {
        public static void main(String[] args) {
                boolean flag=true;
                Scanner in= new Scanner(System.in);
                String[] idArr={};
                String[] nameArr={};
                double[] scoreArr={};
                String id;
                String name;
                double score;
                int a;
                int index;//
                while(flag){
                        System.out.println("1.成绩录入\t2.成绩查询\t3.成绩修改\t4.成绩列表\t5.退出系统");
                        a=in.nextInt();
                        switch(a){
                        case 1:
                                System.out.println("请输入学号:");
                                id=in.next();
                                System.out.println("请输入姓名:");
                                name=in.next();
                                System.out.println("请输入分数");
                                score=in.nextDouble();
                                if(show(idArr,id)==-1){
                                        idArr=Arrays.copyOf(idArr,idArr.length+1);
                                        nameArr=Arrays.copyOf(nameArr,nameArr.length+1);
                                        scoreArr=Arrays.copyOf(scoreArr,scoreArr.length+1);
                                        idArr[idArr.length-1]=id;
                                        nameArr[nameArr.length-1]=name;
                                        scoreArr[scoreArr.length-1]=score;
                                        System.out.println("录入成功");
                                }else{
                                        System.out.println("该学生存在,录入失败!!!");
                                }
                                break;
                        case 2://查询
                                System.out.println("请输入学号:");
                                id=in.next();
                                index=show(idArr,id);
                                if(index!=-1){
                                        System.out.println("学号\t姓名\t成绩");
                                        System.out.println(idArr[index]+"\t"+nameArr[index]+"\t"+scoreArr[index]);
                                }else{
                                        System.out.println("没找到该学生的信息");
                                }
                                break;
                        case 3:
                                break;
                        case 4:
                                break;
                        case 5:
                                System.out.println("成功退出系统!!!");
                                flag=false;
                                break;
                        default:
                                System.out.println("输入有误");
                        }
                }
        }
        public static int show(String[]idArr,String id){
                int index=-1;
                for (int i = 0; i < idArr.length; i++) {
                        if(id.equals(idArr[i])){
                                index=1;
                                break;
                                }
                }
                return index;
        }

}
为什么我标红的那一行会报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-11 16:34:51 | 显示全部楼层
改成
System.out.println(""+idArr[index]+"\t"+nameArr[index]+"\t"+scoreArr[index]);
试试?

还有,下次代码用代码格式发布
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-11 16:46:22 | 显示全部楼层
还是没用
System.out.println(index);//这个打印出来是1
System.out.println(""+idArr[index]+"\t"+nameArr[index]+"\t"+scoreArr[index]);这个报错

1.成绩录入        2.成绩查询        3.成绩修改        4.成绩列表        5.退出系统
1
请输入学号:
001
请输入姓名:
张三
请输入分数
66.3
录入成功
1.成绩录入        2.成绩查询        3.成绩修改        4.成绩列表        5.退出系统
2
请输入学号:
001
学号        姓名        成绩
1
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
        at Demo.main(Demo.java:45)

这个是控制台输入面板
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-11 17:03:21 From FishC Mobile | 显示全部楼层
这个异常是数组下标越界,首先考虑下标是否大了1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-24 20:37:21 | 显示全部楼层
show 方法错了  id是String   idArr是数组
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-15 17:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表