View層代碼問題,急求解答
???下面是我寫的view代碼,QUERYBYNAME根據(jù)姓名查看員工信息和?SEARCH查詢員工信息(根據(jù)姓名、科室)都無法達到預(yù)期。??QUERYBYNAME在輸入姓名后,程序無任何輸出。SEARCH方法只根據(jù)第二個條件,科室來查找。求解答。????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ? public class View {
?public static final String CONTEXT="歡迎來到支撐網(wǎng)測評中心,下面是功能列表: \n"+
???"[MAIN/M]:主菜單\n"+
???"[QUERY/Q]:查看全部員工信息\n"+
???"[QUERYBYNAME/QU]:根據(jù)姓名查看員工信息\n"+
???"[ADD/A]:添加員工信息\n"+
???"[UPDATE/U]:更新員工信息\n"+
???"[DELEIE/D]:刪除員工信息\n"+
???"[SEARCH/S]:查詢員工信息(根據(jù)姓名、科室)\n"+
???"[EXIT/E]:退出測評中心\n"+
???"[BREAK/B]:退出當(dāng)前功能,返回主菜單";
?public static final String OPERATION_MAIN="MAIN";
?public static final String OPERATION_QUERY="QUERY";
?public static final String OPERATION_QUERYBYNAME="QUERYBYNAME";
?public static final String OPERATION_QUERYBYKESHI="QUERYBYKESHI";
?public static final String OPERATION_ADD="ADD";
?public static final String OPERATION_UPDATE="UPDATE";
?public static final String OPERATION_DELETE="DELETE";
?public static final String OPERATION_SEARCH="SEARCH";
?public static final String OPERATION_EXIT="EXIT";
?public static final String OPERATION_BREAK="BREAK";
?public static void main(String[] args) {
??System.out.println(CONTEXT);
??//保持程序持續(xù)運行
??Scanner scan=new Scanner(System.in);
??User user=new User();
??UserAction action=new UserAction();
??String prenious=null;
??Integer step=1;
??while(scan.hasNext()){
???String in=scan.next().toString();
???if(OPERATION_EXIT.equals(in.toUpperCase())||OPERATION_EXIT.substring(0, 1).equals
?????(in.toUpperCase())){
????System.out.println("您已成功退出測評中心信息功能");
????break;
???}else if(OPERATION_QUERY.equals(in.toUpperCase())||OPERATION_QUERY.substring(0, 1).equals
?????(in.toUpperCase())){
????try {
?????List<User> list=action.query();
?????for (User u : list) {
??????System.out.println("ID:"+u.getId()+", 姓名:"+u.getName()+", 性別:"+u.getSex()+", 科室:"+u.getKeshi()
????????+", 集團號:"+u.getJituanhao()+", 職位:"+u.getZhiwei()+";");
?????}
????} catch (Exception e) {
?????e.printStackTrace();
????}
???}else if(OPERATION_QUERYBYNAME.equals(in.toUpperCase())||OPERATION_QUERYBYNAME.substring(0, 2).equals
?????(in.toUpperCase())){
???? prenious=OPERATION_QUERYBYNAME;
????if(1==step){
?????System.out.println("請輸入要查詢員工【姓名】:");
????}else if(2==step){
????try {
?????System.out.println("22");
?????List<User> list=action.queryByName(in.toString());
?????for(int i=0;i<list.size();i++){
??????System.out.println(list.get(i).toString());
?????}?
????/*?for (User u : list) {
??????System.out.println("ID:"+u.getId()+", 姓名:"+u.getName()+", 性別:"+u.getSex()+", 科室:"+u.getKeshi()
????????+", 集團號:"+u.getJituanhao()+", 職位:"+u.getZhiwei()+";");
?????}?? */
????} catch (Exception e) {
?????e.printStackTrace();
?????System.out.println("該員工信息不存在");
???? }
???? }
????if(OPERATION_QUERYBYNAME.equals(prenious)){
?????System.out.println(step);
?????step++;
????}
???}else if(OPERATION_SEARCH.equals(in.toUpperCase())||OPERATION_SEARCH.substring(0, 1).equals
?????(in.toUpperCase())||OPERATION_SEARCH.equals(prenious)){
????? prenious=OPERATION_SEARCH;
?????List<Map<String, Object>> params=new ArrayList<Map<String, Object>>();
?????Map<String, Object> param1=new HashMap<String, Object>();
?????if(1==step){
??????
??????System.out.println("請輸入要查詢員工【姓名】:");
?????}
?????else if(2==step){
??????param1.put("name","name" );
??????param1.put("rela", "like");
??????param1.put("value", "'%"+in+"%'");
??????params.add(param1);
??????System.out.println("請輸入要查詢員工【科室】:");
?????}
?????else if(3==step){
??????System.out.println(step);
??????Map<String, Object> param2=new HashMap<String, Object>();
??????param2.put("name","keshi" );
??????param2.put("rela", "like");
??????param2.put("value", "'%"+in+"%'");
??????params.add(param2);
??????List<User> list;
??????try {
???????list = action.query(params);
???????for (User u : list) {
????????System.out.println("ID:"+u.getId()+", 姓名:"+u.getName()+", 性別:"+u.getSex()+", 科室:"+u.getKeshi()
??????????+", 集團號:"+u.getJituanhao()+", 職位:"+u.getZhiwei()+";");
???????}
??????} catch (Exception e) {
???????e.printStackTrace();
???????System.out.println("無符號條件的員工信息!");
??????}
?????}
?????if(OPERATION_SEARCH.equals(prenious)){
??????System.out.println(step);
??????step++;
?????}
?????
???/*??for(int i=0;i<list.size();i++){
??????System.out.println(list.get(i).toString());
?????}?? */
?????
???}else if(OPERATION_ADD.equals(in.toUpperCase())||OPERATION_ADD.substring(0, 1).equals
?????(in.toUpperCase())||OPERATION_ADD.equals(prenious)){
????prenious=OPERATION_ADD;
????if(1==step){
?????System.out.println("請輸入員工【姓名】:");
????}
????else if(2==step){
?????user.setName(in);
?????System.out.println("請輸入員工【性別】:");
????}
????else if(3==step){
?????user.setSex(in);
?????System.out.println("請輸入員工【科室】:");
????}
????else if(4==step){
?????user.setKeshi(in);
?????System.out.println("請輸入員工【集團號】:");
????}
????else if(5==step){
?????user.setJituanhao(Integer.valueOf(in));
?????System.out.println("請輸入員工【職位】,若是普通員工,寫所屬小組:");
????}
????else if(6==step){
?????user.setZhiwei(in);
?????try {
??????action.add(user);
??????System.out.println("新增員工信息成功!");
?????} catch (Exception e) {
??????e.printStackTrace();
??????System.out.println("新增員工信息失敗!");
?????}
????}
????if(OPERATION_ADD.equals(prenious)){
?????step++;
????}
???}
???
??}
?}
}
2016-04-16
update是跟add差不多的,要用step,search,應(yīng)該不用這樣寫
2015-07-30
我非常有耐心的把你的代碼復(fù)制到我eclipse里,然后排版創(chuàng)建類什么的,我自己都佩服自己的耐心。
按姓名查詢實際上應(yīng)該就只有1步,就是根據(jù)輸入的字符串名字,直接輸出結(jié)果。
你這里寫成了2步,實際執(zhí)行的時候,第一步執(zhí)行的時候提示用戶輸入要查詢的名字。我們比如隨便打個abc,然后程序接著會執(zhí)行你的???
if(OPERATION_QUERYBYNAME.equals(prenious)){
?????System.out.println(step);
?????step++;
????}
這里會輸出一個數(shù)字1,然后又返回while(in.hasNext())這里了,一直等用戶輸入信息。
2015-07-17
為什么沒有人回答。最后的課程太趕了,很多功能都沒實現(xiàn)。來看課程的人基礎(chǔ)都不好,要不然也不會看視頻了!??!