private String getJob_level_dis(String job_level) { String job_level_dis = ""; String[] job_levels = job_level.replaceAll("級", "").split("-"); int first_level = 0; int last_level = 0; //若是開始級別爲C2,不是惟一的C,則獲取具體級別,寫入時要寫入給定級別後面的崗位級別(C2,C3),不是從C1開始寫入 if(job_levels[0].length()>1){ first_level = Integer.parseInt(job_levels[0].substring(1)); } //若是結束級別爲C2,不是惟一的C,則獲取具體級別,寫入時要寫入給定級別前面的崗位級別(C1,C2),沒有C3 if(job_levels[1].length()>1){ last_level = Integer.parseInt(job_levels[1].substring(1)); } //獲取大的級別 char first = job_levels[0].charAt(0); char last = job_levels[1].charAt(0); char temp = first; while(true){ //每一個崗位級別默認有3級 for(int i=1;i<=3;i++){ //開始崗位級別要大於等於給定級別纔會寫入 if(i<first_level&&temp==first){ continue; }else if(temp==last&&i>last_level&&last_level!=0){//結束崗位級別要小於等於給定級別纔會寫入,若是是0則從頭寫入(1-3) continue; } String temp_dis = String.valueOf(temp)+i; job_level_dis += temp_dis+","; } //崗位級別加1 temp = (char) (temp+1); //不到結束崗位則繼續寫入 if(temp<=last){ continue; } break; } //將結尾多餘的逗號舍去並返回 return job_level_dis.substring(0, job_level_dis.lastIndexOf(",")); }
先附上一份代碼,寫這份代碼時遇到的主要問題就是對字母進行加減,網上查了資料來作,本身整理了一下,寫出如上代碼,供之後學習使用。學習