java源文件分享地址:java
連接:https://pan.baidu.com/s/1Ild11O_Vn8ZoKxfQxxwFRw
提取碼:k2fr
複製這段內容後打開百度網盤手機App,操做更方便哦api
首先建立會員類dom
package com.demo; public class Member { private String name; private String password; private int integral; private String time; public Member() { } public Member(String name, String password, int integral,String time) { this.name = name; this.password = password; this.integral = integral; this.time = time; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public int getIntegral() { return integral; } public void setIntegral(int integral) { this.integral = integral; } public String getTime() { return time; } public void setTime(String time) { this.time = time; } }
再次編寫系統類:ide
package com.demo; import org.junit.Test; import java.text.SimpleDateFormat; import java.util.*; public class SupermarketMemberSystem { public static void main(String[] args) { Member m1 = new Member("張三","888888",1234,"2019-2-27 19:45:34"); Member m2 = new Member("李四","L456789",25243,"2019-2-26 10:45:34"); Map<String,Member> map = new HashMap<String,Member>(); map.put("88888888",m1); map.put("52342542",m2); Scanner input = new Scanner(System.in); Random random = new Random(); String name; String password; int integral; String time; String key = ""; System.out.println("**************歡迎進入超市會員管理系統***************"); do{ System.out.println("*****************************************************"); System.out.print("一、會員開卡\t\t"); System.out.print("二、會員登入\t\t"); System.out.println("三、結束"); System.out.println("*****************************************************"); System.out.print("請選擇:"); String choice1 = input.next(); switch (choice1){ case "1": do{ System.out.print("請輸入註冊姓名:"); boolean nameFlag = false; do{ name = input.next(); if(name.length()<2){ System.out.println("姓名格式不正確,請從新輸入!"); continue; }else { nameFlag = true; break; } }while (true); System.out.println("請輸入註冊密碼:"); boolean passwordFlag = false; do{ password = input.next(); if(password.length()<6){ System.out.println("密碼長度過短,請從新輸入!"); continue; }else { passwordFlag = true; break; } }while (true); if(nameFlag&&passwordFlag){ System.out.print("恭喜!開通會員卡成功,系統贈送您100積分!"); Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); time = sdf.format(date); integral = 100; int[] nums = new int[8]; boolean keyFlag = true; do{ for(int i = 0 ;i<8;i++){ if(i==0){ nums[i] = random.nextInt(9)+1; }else { nums[i] = random.nextInt(10); } String id =Integer.toString(nums[i]); key +=id; } for(String k:map.keySet()){ if(k.equals(key)){ break; }else { keyFlag = false; } } }while (keyFlag); System.out.println("您的會員卡號爲:"+key); Member m = new Member(name,password,integral,time); // System.out.println(m.getName()+m.getPassword()+m.getIntegral()+m.getTime()); map.put(key,m); System.out.println("請用會員卡號從新登入!"); key = ""; break; } }while (true); break; case "2": String kahao = ""; String mima = ""; boolean dengru = true; boolean back1 = false; System.out.println("請輸入您的會員卡號:"); do{ kahao = input.next(); boolean kahaoFlag = false; System.out.println("請輸入您的會員卡密碼:"); mima = input.next(); boolean mimaFlag = false; System.out.print("請輸入驗證碼:"); int[] nums = new int[6]; String yanzhengMa = ""; for(int j= 0;j<nums.length;){ nums[j] = random.nextInt(122); char num; if(nums[j]>=48&&nums[j]<=57){ num =(char) nums[j]; }else if(nums[j]>=65&&nums[j]<=90){ num =(char) nums[j]; }else if(nums[j]>=97&&nums[j]<=122){ num =(char) nums[j]; }else { continue; } System.out.print(num); String nu = Character.toString(num); yanzhengMa += nu; if(j==nums.length-1){ System.out.println(); } j++; } do{ String yanZheng = input.next(); if(yanZheng.equalsIgnoreCase(yanzhengMa)){ break; }else { System.out.println("驗證碼不正確,請從新輸入!"); } }while (true); for(String k:map.keySet()){ if(k.equals(kahao)){ kahaoFlag =true; break; } } if(kahaoFlag){ }else { System.out.println("會員卡號錯誤!"); } for(Member m : map.values()){ if(m.getPassword().equals(mima)){ mimaFlag = true; break; } } if(mimaFlag){ }else { System.out.println("密碼錯誤!"); } if(kahaoFlag&&mimaFlag){ System.out.println("登入成功!"); dengru = false; }else { System.out.print("登入失敗,請從新登入!"); System.out.println("輸入「0」返回主頁!"); String back = input.next(); if(back.equals("0")){ back1 =true; break; }else { System.out.println("請輸入您的會員卡號:"); } } }while (dengru); if(back1){ break; } boolean flag1 = true; do{ System.out.print("一、積分累計\t\t"); System.out.print("二、積分兌換\t\t"); System.out.print("三、會員信息\t\t"); System.out.print("四、修改密碼\t\t"); System.out.print("五、退出帳號\n"); System.out.print("請選擇:"); Scanner input1 = new Scanner(System.in); String choice2 = input1.next(); switch (choice2){ case "1": System.out.print("請輸入您這次的消費金額(消費1元累計1積分):"); int pay; try { do{ pay = input1.nextInt(); if(pay<=0){ System.out.println("輸入有誤,請從新輸入:"); }else { break; } }while (true); }catch (InputMismatchException e){ System.out.println("輸入有誤,退出功能!"); break; }catch (Exception e){ System.out.println("輸入有誤,退出功能!"); break; } int temp =map.get(kahao).getIntegral()+pay; map.get(kahao).setIntegral(temp); System.out.println("積分累計成功!當前積分爲:"+map.get(kahao).getIntegral()); break; case "2": System.out.print("請輸入您須要兌換使用的積分(100積分抵用0.1元,不足100的積分不作抵用):"); int duiHuan = 0; do{ try{ do{ duiHuan = input1.nextInt(); if(duiHuan<=0){ System.out.println("輸入有誤,請從新輸入:"); }else { break; } }while (true); }catch (InputMismatchException e){ System.out.println("輸入有誤,即將退出請從新選擇!"); break; }catch (Exception e) { System.out.println("輸入有誤,即將退出請從新選擇!"); break; } if(map.get(kahao).getIntegral()>=100){ if(map.get(kahao).getIntegral()>=duiHuan){ int temp1 =map.get(kahao).getIntegral()-duiHuan; map.get(kahao).setIntegral(temp1); double diYong = duiHuan*1.0/1000; System.out.println("您的消費金額中使用會員積分抵消"+diYong+"元,剩餘積分:"+map.get(kahao).getIntegral()); break; }else { System.out.println("您的積分不足,請從新輸入!"); continue; } }else { System.out.println("您的積分不足100,不能抵用!"); break; } }while (true); break; case "3": System.out.println("姓名\t\t"+"會員卡號\t\t"+"剩餘積分\t\t"+"開卡日期"); System.out.println(map.get(kahao).getName()+"\t\t"+kahao+"\t\t"+map.get(kahao).getIntegral()+"\t\t"+map.get(kahao).getTime()); break; case "4": String mimaNew1; String mimaNew2; System.out.println("請輸入新密碼:"); do{ mimaNew1 = input.next(); if(mimaNew1.length()<6){ System.out.println("密碼位數不能小於6,請從新輸入:"); continue; }else if(mimaNew1.equals(map.get(kahao).getPassword())){ System.out.println("新密碼與原密碼不能相同!請從新輸入:"); continue; }else { break; } }while (true); System.out.println("請再次輸入新密碼:"); do{ mimaNew2 = input.next(); if(mimaNew1.equals(mimaNew2)){ System.out.println("修改密碼成功!"); map.get(kahao).setPassword(mimaNew2); break; }else { System.out.println("兩次輸的新密碼要相同!請從新輸入:"); } }while (true); break; case "5": flag1 = false; break; default: System.out.println("輸入有誤,請從新輸入!"); } }while (flag1); break; case "3": System.out.println("祝您生活愉快!"); return; default: System.out.println("輸入有誤,請從新輸入!"); } }while (true); } }
輸出結果爲:ui
"C:\Program Files\Java\jdk1.8.0_191\bin\java.exe" "-javaagent:G:\IntelliJ IDEA 2018.3.1\lib\idea_rt.jar=53503:G:\IntelliJ IDEA 2018.3.1\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_191\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar;G:\超市會員管理系統\out\production\超市會員管理系統;C:\Users\劉銘輝\.m2\repository\junit\junit\4.12\junit-4.12.jar;C:\Users\劉銘輝\.m2\repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar" com.demo.SupermarketMemberSystem **************歡迎進入超市會員管理系統*************** ***************************************************** 一、會員開卡 二、會員登入 3、結束 ***************************************************** 請選擇:1 請輸入註冊姓名:admin 請輸入註冊密碼: 888888 恭喜!開通會員卡成功,系統贈送您100積分!您的會員卡號爲:60512122 請用會員卡號從新登入! ***************************************************** 一、會員開卡 二、會員登入 3、結束 ***************************************************** 請選擇:2 請輸入您的會員卡號: 60512122 請輸入您的會員卡密碼: 888888 請輸入驗證碼:RpFepk rpfepk 登入成功! 一、積分累計 二、積分兌換 三、會員信息 四、修改密碼 5、退出帳號 請選擇:3 姓名 會員卡號 剩餘積分 開卡日期 admin 60512122 100 2019-03-01 14:26:59 一、積分累計 二、積分兌換 三、會員信息 四、修改密碼 5、退出帳號 請選擇:1 請輸入您這次的消費金額(消費1元累計1積分):10000 積分累計成功!當前積分爲:10100 一、積分累計 二、積分兌換 三、會員信息 四、修改密碼 5、退出帳號 請選擇:2 請輸入您須要兌換使用的積分(100積分抵用0.1元,不足100的積分不作抵用):5000 您的消費金額中使用會員積分抵消5.0元,剩餘積分:5100 一、積分累計 二、積分兌換 三、會員信息 四、修改密碼 5、退出帳號 請選擇:4 請輸入新密碼: 888888 新密碼與原密碼不能相同!請從新輸入: 111111 請再次輸入新密碼: 111111 修改密碼成功! 一、積分累計 二、積分兌換 三、會員信息 四、修改密碼 5、退出帳號 請選擇:5 ***************************************************** 一、會員開卡 二、會員登入 3、結束 ***************************************************** 請選擇:3 祝您生活愉快! Process finished with exit code 0