希望大牛幫幫我
為啥每個單獨的步驟執(zhí)行就可以,組合在一起就有問題? ,還有更新兩次 問題:第二次更新時更新不動,增加完 新信息,按其他按鈕 不動。安老師寫的增加代碼。
我的代碼:
package?com.Demo.view; import?com.Demo.action.GoddessAction; import?com.Demo.model.Goddess; import?org.omg.Messaging.SYNC_WITH_TRANSPORT; import?java.sql.SQLException; import?java.text.ParseException; import?java.text.SimpleDateFormat; import?java.util.*; public?class?View?{ ????private?static?final?String?CONTEXT="歡迎來到女生區(qū):\n"+ ????????????"下面是女生區(qū)的功能列表:\n"+ ????????????"[MAIN/M]:主菜單\n"+ ????????????"[QUERY/Q]:查看全部女生信息\n"+ ????????????"[GET/G]:查看某位女生詳細信息\n"+ ????????????"[ADD/A]:添加女生信息\n"+ ????????????"[UPDATE/U]:更新女生信息\n"+ ????????????"[DELETE/D]:刪除女生信息\n"+ ????????????"[SEARCH/S]:查詢女生信息(根據(jù)姓名、手機號來查詢)\n"+ ????????????"[EXIT/E]:退出女生區(qū):\n"+ ????????????"[BREAK/B]:退出當前功能,返回主菜單"; ????private?static?final?String?OPERATION_MAIN="MAIN"; ????private?static?final?String?OPERATION_QUERY="QUERY"; ????private?static?final?String?OPERATION_GET="GET"; ????private?static?final?String?OPERATION_ADD="ADD"; ????private?static?final?String?OPERATION_UPDATE="UPDATE"; ????private?static?final?String?OPERATION_DELETE="DELETE"; ????private?static?final?String?OPERATION_SEARCH="SEARCH"; ????private?static?final?String?OPERATION_EXIT="EXIT"; ????private?static?final?String?OPERATION_BREAK="BREAK"; ????public?static?void?main(String[]?args)?throws?ParseException?{ ????????System.out.println(CONTEXT); ????????Scanner?scanner=new?Scanner(System.in); ????????Goddess?goddess=new?Goddess(); ????????GoddessAction?goddessAction=new?GoddessAction(); ????????String?pernious=null; ????????Integer?step=1; ????????Integer?step1=1; ????????Integer?step2=1; ????????Integer?step3=1; ????????Integer?step4=1; ????????List<Map<String,Object>>?params=?new?ArrayList<Map<String,?Object>>(); ????????Map<String,Object>param=new?HashMap<String,?Object>(); ????????//保持程序一直運行 ????????while(scanner.hasNext()){ ????????????String?input=scanner.next().toString(); ????????????if(OPERATION_EXIT.equals(input.toUpperCase()) ????????????????????||OPERATION_EXIT.substring(0,1).equals(input.toUpperCase())){ ????????????????System.out.println("您已成功退出女生區(qū)!"); ????????????????break; ????????????}else?if(OPERATION_ADD.equals(input.toUpperCase()) ????????????????????||OPERATION_ADD.substring(0,1).equals(input.toUpperCase()) ????????????????????||OPERATION_ADD.equals(pernious)){ ????????????????pernious=OPERATION_ADD; ????????????????//增加女生 ????????????????if(step==1){ ????????????????????System.out.println("請輸入女生的[姓名]"); ????????????????}else?if(step==2){ ????????????????????goddess.setUser_name(input); ????????????????????System.out.println("請輸入女生的[年齡]"); ????????????????}else?if(step==3){ ????????????????????goddess.setAge(Integer.valueOf(input)); ????????????????????System.out.println("請輸入女生的[生日],如YYYY-MM-DD"); ????????????????}else?if(step==4){ ????????????????????SimpleDateFormat?simpleDateFormat=new?SimpleDateFormat("YYYY-MM-DD"); ????????????????????Date?birthday=null; ????????????????????try{ ????????????????????????birthday=simpleDateFormat.parse(input); ????????????????????????goddess.setBirthday(birthday); ????????????????????????System.out.println("請輸入女生[郵箱]"); ????????????????????}catch?(ParseException?e){ ????????????????????????e.printStackTrace(); ????????????????????????System.out.println("您輸入的格式有誤,請重新輸入"); ????????????????????????step=3; ????????????????????} ????????????????}else?if(step==5){ ????????????????????goddess.setEmail(input); ????????????????????System.out.println("請輸入女生[手機號]"); ????????????????}else?if(step==6){ ????????????????????goddess.setMobile(input); ????????????????????try?{ ????????????????????????goddessAction.add(goddess); ????????????????????????System.out.println("新增女生成功。"); ????????????????????}?catch?(SQLException?e)?{ ????????????????????????e.printStackTrace(); ????????????????????????System.out.println("新增女生失敗!"); ????????????????????} ????????????????} ????????????????if(OPERATION_ADD.equals(pernious)){ ????????????????????step++; ????????????????} ????????????}else?if(OPERATION_QUERY.equals(input.toUpperCase()) ????????????????????||OPERATION_QUERY.substring(0,1).equals(input.toUpperCase())){ ????????????????try?{ ????????????????????List<Goddess>goddesses=goddessAction.query(); ????????????????????for?(Goddess?goddess1:goddesses){ ????????????????????????System.out.println( ????????????????????????????????"ID:"+goddess1.getId()+"?"+ ????????????????????????????????"姓名:"+goddess1.getUser_name()+"?"+ ????????????????????????????????"年齡:"+goddess1.getAge()+"?"+ ????????????????????????????????"郵箱:"+goddess1.getEmail()+"?"+ ????????????????????????????????"電話:"+goddess1.getMobile()); ????????????????????} ????????????????}?catch?(SQLException?e)?{ ????????????????????e.printStackTrace(); ????????????????} ????????????}else?if(OPERATION_DELETE.equals(input.toUpperCase()) ????????????????????||OPERATION_DELETE.substring(0,1).equals(input.toUpperCase()) ????????????????????||OPERATION_DELETE.equals(pernious)){ ????????????????pernious=OPERATION_DELETE; ????????????????if(step1==1){ ????????????????????try?{ ????????????????????????Goddess?idList=null; ????????????????????????System.out.println("請輸入要刪除的女生ID:"); ????????????????????????Integer?out=scanner.nextInt(); ????????????????????????for(int?i=0;i<goddessAction.query().size();i++){ ????????????????????????} ????????????????????????goddessAction.delete(out); ????????????????????????System.out.println("刪除成功!"); ????????????????????}?catch?(Exception?e)?{ ????????????????????????System.out.println("輸入的格式有誤,請重新輸入[數(shù)字]:"); ????????????????????????step=0; ????????????????????} ????????????????} ????????????????if(OPERATION_DELETE.equals(pernious)){ ????????????????????step1++; ????????????????} ????????????}else?if(OPERATION_GET.equals(input.toUpperCase()) ????????????????????||OPERATION_GET.substring(0,1).equals(input.toUpperCase()) ????????????????????||OPERATION_GET.equals(pernious)){ ????????????????pernious=OPERATION_GET; ????????????????if(step2==1){ ????????????????????try?{ ????????????????????????System.out.println("請輸入要查看女生的ID:"); ????????????????????????Integer?in=scanner.nextInt(); ????????????????????????Goddess?goddess2=goddessAction.get(in); ????????????????????????System.out.println(goddess2.toString()); ????????????????????????//continue; ????????????????????}catch?(Exception?e)?{ ????????????????????????System.out.println("您輸入的女生ID格式有誤,格式[數(shù)字]"); ????????????????????????step2=0; ????????????????????} ????????????????} ????????????????if(OPERATION_GET.equals(pernious)){ ????????????????????step2++; ????????????????} ????????????}else?if(OPERATION_SEARCH.equals(input.toUpperCase()) ????????????????????||OPERATION_SEARCH.substring(0,1).equals(input.toUpperCase())){ ????????????????pernious=OPERATION_SEARCH; ????????????????if(step3==1)?{ ????????????????????try?{ ????????????????????????List<Goddess>?goddesses?=?null; ????????????????????????System.out.println("請輸入女生的姓名:"); ????????????????????????String?name?=?scanner.next(); ????????????????????????System.out.println("請輸入女生的手機號:"); ????????????????????????String?mobile?=?scanner.next(); ????????????????????????param?=?new?HashMap<String,?Object>(); ????????????????????????param.put("name",?"user_name"); ????????????????????????param.put("rela",?"="); ????????????????????????String?realName?=?"'"?+?name?+?"'"; ????????????????????????param.put("value",?realName); ????????????????????????params.add(param); ????????????????????????param?=?new?HashMap<String,?Object>(); ????????????????????????param.put("name",?"mobile"); ????????????????????????param.put("rela",?"="); ????????????????????????String?realMobile?=?"'"?+?mobile?+?"'"; ????????????????????????param.put("value",?realMobile); ????????????????????????params.add(param); ????????????????????????goddesses?=?(List<Goddess>)?goddessAction.query(params); ????????????????????????for?(int?i?=?0;?i?<?goddesses.size();?i++)?{ ????????????????????????????System.out.println("查詢到的信息為:"); ????????????????????????????System.out.println(goddesses.get(i).toString()); ????????????????????????} ????????????????????}?catch?(Exception?e)?{ ????????????????????????e.printStackTrace(); ????????????????????????System.out.println("未查到任何相關(guān)信息,請重新輸入"); ????????????????????????step3=0; ????????????????????} ????????????????} ????????????????if(pernious.equals(OPERATION_SEARCH)){ ????????????????????step3++; ????????????????} ????????????}else?if(OPERATION_MAIN.equals(input.toUpperCase()) ????????????????????||OPERATION_MAIN.substring(0,1).equals(input.toUpperCase())){ ????????????????System.out.println(CONTEXT); ????????????}else?if(OPERATION_BREAK.equals(input.toUpperCase()) ????????????????????||OPERATION_BREAK.substring(0,1).equals(input.toUpperCase())){ ????????????????System.out.println("你已退出女生區(qū)!"); ?????????????????????break; ????????????}else?if(OPERATION_UPDATE.equals(input.toUpperCase()) ????????????????????||OPERATION_UPDATE.substring(0,1).equals(input.toUpperCase()) ????????????????????||OPERATION_UPDATE.equals(pernious))?{ ????????????????pernious=OPERATION_UPDATE; ????????????????if(step4==1){ ????????????????????try?{ ????????????????????????System.out.println("請輸入要修改女生的ID:"); ????????????????????????Integer?inId=scanner.nextInt(); ????????????????????????Goddess?goddess2=goddessAction.get(inId); ????????????????????????System.out.println(goddess2.toString()); ????????????????????????goddess.setId(inId); ????????????????????????step4=2; ????????????????????}catch?(Exception?e)?{ ????????????????????????System.out.println("您輸入的女生ID格式有誤,格式[數(shù)字]"); ????????????????????????step=0; ????????????????????} ????????????????} ????????????????if(step4==2){ ????????????????????System.out.println("請輸入更改后女生的姓名:"); ????????????????}else?if(step4==3){ ????????????????????goddess.setUser_name(input); ????????????????????System.out.println("請輸入更改后女生年齡:"); ????????????????}else?if(step4==4){ ????????????????????goddess.setAge(Integer.valueOf(input)); ????????????????????System.out.println("請輸入改后女生生日:"); ????????????????}else?if(step4==5){ ????????????????????SimpleDateFormat?simpleDateFormat=new?SimpleDateFormat("YYYY-MM-DD"); ????????????????????Date?birthday=null; ????????????????????try{ ????????????????????????birthday=simpleDateFormat.parse(input); ????????????????????????goddess.setBirthday(birthday); ????????????????????????System.out.println("請輸入女生[郵箱]"); ????????????????????}catch?(ParseException?e){ ????????????????????????e.printStackTrace(); ????????????????????????System.out.println("您輸入的格式有誤,請重新輸入"); ????????????????????????step4=4; ????????????????????} ????????????????}else?if?(step4==6){ ????????????????????goddess.setEmail(input); ????????????????????System.out.println("請輸入更改后女生手機號:"); ????????????????}else?if?(step4==7){ ????????????????????goddess.setMobile(input); ????????????????????System.out.println("請輸入更新者"); ????????????????}else?if(step4==8){ ????????????????????goddess.setUpdate_user(input); ????????????????????try?{ ????????????????????????goddessAction.update(goddess); ????????????????????????System.out.println("更新成功!"); ????????????????????}?catch?(SQLException?e)?{ ????????????????????????e.printStackTrace(); ????????????????????} ????????????????} ????????????????if(OPERATION_UPDATE.equals(pernious)){ ????????????????????step4++; ????????????????} ????????????}else?{ ????????????????System.out.println("您輸入的方式有誤"); ????????????????System.out.println(CONTEXT); ????????????} ????????} ????} }
2019-01-22
新增成功,將對應(yīng)的step重置為1;