根据当前字母获取下一位 java

来源:互联网 发布:java图片base64编码 编辑:程序博客网 时间:2024/05/21 07:03

业务需求: 若当前课程(物理学)对应的试卷在数据库中已经有了 “物理学-2016-2017学年 A卷”,那么再生出试卷时,要改为 “物理学-2016-2017学年 B卷”

代码:

String PaperName = "";        String termName = SchoolYearUtils.getSchoolYear();//此方法是去获取学年学期 即:"2016-2017学年"        String tmpName = courseName + "-" + termName; //courseName是当前课程名,即"物理学"        String name = paperDetailDao.findPaperNameByName(tmpName); //去数据库查找,根据课程名称,模糊查询并排序,获取当前最大值的 卷子名称        //没有查到        if (name == null || name.isEmpty()) {            PaperName = tmpName + " A卷"; //没有查到,直接命名为 物理学-2016-2017学年 A卷        } else {            String en = name.substring(name.indexOf(" ") + 1);            char lastE = 'Z';            int lastEnglish = (int) lastE;            char[] c = en.toCharArray();            int now = (int) c[0];            if (now >= lastEnglish)//如果当前的字母已经超过Z了,那么我就直接给定义成001卷了 (这里有点小问题,可以再弄成数字自增长,我偷懒了哈)                PaperName = name + "001";            char uppercase = (char) (now + 1); //获取自增长后的英文字母            PaperName = tmpName + " " + String.valueOf(uppercase) + "卷";        }