首页 > 代码库 > 1001-----homework------version first
1001-----homework------version first
1 package com.kai.li.atm; 2 3 /** 4 *客户端 5 *@author kaili 6 */ 7 public class Client{ 8 public static void main(String[] args){ 9 new MainView(); //启动主界面10 }11 }
1 package com.kai.li.atm; 2 3 import java.io.IOException; 4 import com.kai.li.myutils.MyUtils; 5 6 /** 7 *主界面 8 */ 9 public class MainView{10 11 private MainController mainController; //定义主界面控制变量12 13 /*构造函数初始化主界面*/14 MainView(){15 mainController = new MainController(); //初始化主界面控制器16 display(); //显示主界面视图17 selectView(); //根据用户输入,启动相应视图界面18 }19 20 /*显示主界面*/21 public void display(){22 try{23 System.out.println(mainController.getFileContents());24 }catch(Exception e){25 e.printStackTrace();26 }27 }28 29 /*根据用户输入,启动相应视图界面*/30 public void selectView(){31 mainController.selectView(MyUtils.scanner());32 }33 34 }
1 package com.kai.li.atm; 2 3 /** 4 *主界面控制器 5 *根据用户输入进入子界面 6 **/ 7 8 public class MainController{ 9 10 /*定义主界面数据模型变量*/11 private MainModel mainModel;12 13 /*构造方法初始化主界面数据模型对象*/14 MainController(){15 this.mainModel = new MainModel();16 }17 18 /*根据用户输入进入相应子界面*/19 public void selectView(String str){20 switch(str){21 case "0":22 new CreatAccountView(); //启动注册账户界面视图23 break;24 case "1":25 new SearchView(); //启动查询账户界面视图26 break;27 case "2":28 new DepositView(); //启动存款界面视图29 break;30 case "3":31 new WithdrawalView(); //启动提款界面视图32 break;33 case "4":34 exit(); //退出应用程序35 break;36 default:37 showMessageAndNew(); //默认提示信息并重新启动主界面视图38 }39 }40 41 /*获取保存在文件中的数据内容*/42 public String getFileContents()throws Exception{43 return mainModel.getFileContents();44 }45 46 /*退出系统的方法定义*/47 public void exit(){48 System.out.println("您已经安全退出ATM系统。谢谢使用!");49 System.exit(1);50 }51 /*信息提示并重新启动主界面视图*/52 public void showMessageAndNew(){53 System.out.println("\n\r你选择的菜单不存在!");54 System.out.println("请重新选择:");55 new MainView();56 }57 }
1 package com.kai.li.atm; 2 3 import java.io.IOException; 4 import com.kai.li.myutils.MyUtils; 5 6 7 /** 8 *主界面数据模型类 9 */10 public class MainModel{11 12 /*获取保存在文件中的数据*/13 public String getFileContents()throws IOException{14 return MyUtils.readFileContents("d:/mainview.txt"); 15 }16 17 }
1 package com.kai.li.atm; 2 3 import static com.kai.li.myutils.MyUtils.scanner; 4 import com.kai.li.unionpay.ICard; 5 import com.kai.li.abc.Card; 6 7 /** 8 *开户视图类 9 */ 10 public class CreatAccountView{ 11 12 /** 13 *变量定义 14 */ 15 private CreatAccountController creatAccountController; //定义开户控制变量 16 private Card card; //定义银行卡变量 17 18 /** 19 *构造方法完成界面功能 20 *信息提示与接收用户输入 21 */ 22 CreatAccountView(){ 23 24 this.creatAccountController = new CreatAccountController(); //初始化账户控制器 25 display(); //显示开户界面 26 27 showMessageName(); //提示输入姓名信息 28 String name = getName(); //获得用户输入姓名信息 29 30 showMessageId(); //提示输入身份证信息 31 String id = getId(); //获得用户输入的身份证信息 32 checkId(id); //根据用户输入身份信息的合法性完成相应功能 33 34 showMessagePassword(); //提示输入密码信息 35 String password = getPassword(); //获得用户输入的密码信息 36 checkPassword(password); //根据用户输入密码的合法性完成相应功能 37 38 card = new Card(name,id,password); //根据用户输入信息生成银行卡账户 39 40 saveInfo(); //保存银行卡信息到文件 41 42 showMessageSuccess(); //显示开户成功的提示信息 43 44 new MainView(); //返回主界面 45 46 } 47 48 /*从文件获得数据并显示在界面*/ 49 public void display(){ 50 try{ 51 //将从文件获得的数据显示在界面视图中 52 System.out.println(creatAccountController.getFileContents()); 53 }catch(Exception e){ 54 e.printStackTrace(); 55 } 56 } 57 58 /*保存用户信息到文件*/ 59 public void saveInfo(){ 60 creatAccountController.saveInfo(card); //通过Card类传递数据保存到硬盘中的文件 61 } 62 63 /*接收用户输入姓名,身份证,密码信息*/ 64 public String getName(){ //获取用户输入的姓名 65 return scanner(); 66 } 67 public String getId(){ //获取用户输入的身份证号 68 return scanner(); 69 } 70 public String getPassword(){ //获取用户输入的密码 71 return scanner(); 72 } 73 74 /*显示提示性信息*/ 75 public void showMessageName(){ 76 System.out.println("请输入你的姓名:"); //提示姓名输入 77 } 78 public void showMessageId(){ 79 System.out.println("请输入你的身份证号:"); //提示身份证号输入 80 } 81 public void showMessagePassword(){ 82 System.out.println("请输入你的密码:"); //提示密码输入 83 } 84 public void showMessageSuccess(){ 85 System.out.println("开户成功,谢谢使用!"); //开户成功的提示信息 86 } 87 88 /*身份证信息检查*/ 89 public void checkId(String id){ 90 while(!creatAccountController.checkId(id)){ 91 System.out.println("身份证格式无效,请重新输入:"); 92 id = getId(); 93 } 94 } 95 /*密码信息检查*/ 96 public void checkPassword(String password){ 97 while(!creatAccountController.checkPassword(password)){ 98 System.out.println("密码格式无效,请重新输入:"); 99 password = getPassword();100 } 101 }102 103 }
1 package com.kai.li.atm; 2 3 import java.io.IOException; 4 import com.kai.li.abc.Card; 5 import java.util.regex.Matcher; 6 7 /** 8 *开户控制器 9 */10 public class CreatAccountController{11 12 /*定义开户模型*/13 private CreatAccountModel creatAccountModel;14 15 /*构造方法*/16 CreatAccountController(){17 this.creatAccountModel = new CreatAccountModel();18 }19 20 /*从文件获取数据*/21 public String getFileContents()throws IOException{22 return creatAccountModel.getFileContents();23 }24 25 /*检查身份证信息合法性*/26 public boolean checkId(String id){27 if(id.length()==18&&id.matches("[0-9]+"))28 return true;29 else 30 return false;31 }32 33 /*检查密码信息合法性*/34 public boolean checkPassword(String password){35 if(password.length()==6&&password.matches("[0-9]+"))36 return true;37 else 38 return false;39 }40 41 /*保存用户开户信息*/42 public void saveInfo(Card card){43 if(card != null)44 creatAccountModel.saveInfo(card);45 }46 }
1 package com.kai.li.atm; 2 3 import java.io.IOException; 4 import com.kai.li.myutils.MyUtils; 5 import com.kai.li.abc.Card; 6 7 /** 8 *开户数据模型类 9 */10 public class CreatAccountModel{11 12 /*获取文件中的数据*/13 public String getFileContents()throws IOException{14 return MyUtils.readFileContents("d:/creataccountview.txt");15 }16 17 /*将用户输入的数据保存到硬盘中的文件中*/18 public void saveInfo(Card card){19 try{20 MyUtils.writeToFile("d:/card.txt",card);21 }catch(Exception e){22 e.printStackTrace();23 24 }25 }26 27 }
1 package com.kai.li.atm; 2 3 import static com.kai.li.myutils.MyUtils.scanner; 4 5 /** 6 *查询视图界面类 7 */ 8 public class SearchView{ 9 10 /*定义查询控制器变量*/11 private SearchController searchController;12 13 /*构造方法完成用户输入及视图展现*/14 public SearchView(){15 16 searchController = new SearchController(); //实例化查询控制器 17 18 showMessageIndex(); //显示提示信息19 20 showMessageCardnumber(); //提示用户输入卡号21 String cardnumber = getCardnumber(); //获取用户输入的卡号22 checkCardnumber(cardnumber); //根据卡号输入的合法性执行相应功能23 24 showMessagePassword(); //提示用户输入密码25 String password = getPassword(); //获取用户输入的密码26 checkPassword(password); //根据密码输入的合法性执行相应功能27 }28 29 /*界面信息提示的相关方法*/30 public void showMessageIndex(){ //提示本视图界面功能信息31 System.out.println("****************"); 32 System.out.println("你选择的为查询功能");33 }34 public void showMessageCardnumber(){ //提示用户输入卡号35 System.out.println("请输入您要查询的卡号:");36 }37 public void showMessagePassword(){ //提示用户输入密码38 System.out.println("请输入您的密码:");39 }40 public void showMessageEnd(){ //输出成功查询后的相关信息41 System.out.println();42 System.out.println("你查询的账号信息为:");43 System.out.println("*****************************");44 System.out.println(searchController.searchModel.card);45 }46 47 /*数值合法性检查的相关方法*/48 public void checkCardnumber(String cardnumber){ //检测卡号是否存在 49 while(!searchController.checkCardnumber(cardnumber)){50 System.out.println("您查询的账户不存在!请重新输入:");51 cardnumber = getCardnumber();52 }53 }54 public void checkPassword(String password){ //检测密码是否正确55 int i = 1;56 while(!searchController.checkPassword(password) && i<3){ //循环判断密码是否正确57 System.out.println("您的密码不正确!请重新输入:");58 i++;59 password = getPassword();60 }61 if(i == 3)62 new MainView(); //如果3次输入错误,则返回主界面63 showMessageEnd(); //查询成功后的提示信息64 new MainView(); //启动主界面65 }66 67 /*获取用户输入的相关方法*/68 public String getCardnumber(){ //获取用户输入的卡号69 return scanner();70 }71 public String getPassword(){ //获取用户输入的密码72 return scanner();73 }74 75 }
1 package com.kai.li.atm; 2 3 4 /** 5 *查询账户的控制器类 6 */ 7 public class SearchController{ 8 9 /*定义查询功能的数据模型变量*/10 SearchModel searchModel;11 12 /*构造方法实例化数据模型类并获取账户信息*/13 public SearchController(){14 15 this.searchModel = new SearchModel();16 17 setCard();18 }19 20 /*检测卡号是否存在*/21 public boolean checkCardnumber(String cardnumber){22 if(!cardnumber.equals(searchModel.card.getCardnumber().trim()))23 return false;24 return true;25 }26 27 /*检测密码是否正确*/28 public boolean checkPassword(String password){29 if(!password.equals(searchModel.card.getPassword().trim()))30 return false;31 return true;32 }33 34 /*获取账户信息并保存在card对象中*/35 public void setCard(){36 try{37 searchModel.setCard();38 }catch(Exception e){39 e.printStackTrace();40 }41 42 }43 }
1 package com.kai.li.atm; 2 3 import static com.kai.li.myutils.MyUtils.readFileContents; 4 import com.kai.li.abc.Card; 5 import java.util.List; 6 import java.util.ArrayList; 7 8 /** 9 *查询功能的数据模型类10 *没有去实现一个文件中保存多个账户的情况11 *写入文件的构造方法需要改成true,以追加文本12 *可以在Card的toString方法中添加字符“账户:”进行分割13 *分割后其余步骤同下14 */15 public class SearchModel{16 17 /*定义储蓄卡的变量及列表变量*/18 Card card = new Card();19 List<String[]> list = new ArrayList<>();20 21 /*从硬盘文件中读取数据*/22 public String[] getCardInfo()throws Exception{23 return readFileContents("d:/card.txt").split("\n");24 }25 26 /*将读取到的数据转换成card对象的属性*/27 public void setCard()throws Exception{ 28 String[] strs = getCardInfo(); //定义临时变量保存按行分割后的字符数组29 for(String str:strs){ //遍历数组并按:分割后保存进列表30 list.add(str.split(":"));31 }32 for(String[] str:list){ //遍历列表,根据数组下标给card对象赋值33 switch(str[0]){34 case "姓名":35 card.setName(str[1]); //给card对象的name属性赋值36 continue;37 case "身份证":38 card.setId(str[1]); //给card对象的id属性赋值39 continue;40 case "卡号":41 card.setCardnumber(str[1]); //给card对象的cardnumber属性赋值42 continue;43 case "密码":44 card.setPassword(str[1]); //给card对象的password属性赋值45 continue;46 case "余额":47 card.setBalance(str[1]); //给card对象的balance属性赋值48 continue;49 }50 }51 }52 53 }
1 package com.kai.li.atm; 2 3 import static com.kai.li.myutils.MyUtils.scanner; 4 5 /** 6 *存款的试图界面 7 *本类主要完成视图输出以及用户输入的功能 8 */ 9 public class DepositView{ 10 11 /*定义控制器变量*/ 12 DepositController depositController; 13 14 /*构造方法*/ 15 public DepositView(){ 16 17 depositController = new DepositController(); //实例化控制器变量 18 19 showMessageIndex(); //界面信息提示 20 String cardnumber = getCardnumber(); //获取用户输入卡号 21 checkCardnumber(cardnumber); //根据用户输入卡号合法性给出相应界面信息 22 23 showMessagePassword(); //界面信息提示,提示用户输入密码 24 String password = getPassword(); //获取用户输入密码 25 checkPassword(password); //根据用户输入密码合法性给出相应界面信息 26 27 showMessageDeposit(); //界面信息提示,输出用户账户信息 28 showMessageCardInfo(); //输出用户的账户具体信息 29 30 showMessageMoney(); //界面信息提示,提示用户输入存款金额 31 String money = getMoney(); //获取用户输入存款金额 32 checkMoney(money); //根据用户输入金额合法性给出相应界面信息 33 34 } 35 36 /*获取用户输入*/ 37 public String getCardnumber(){ //获取用户卡号 38 return scanner(); 39 } 40 public String getPassword(){ //获取用户密码 41 return scanner(); 42 } 43 public String getMoney(){ //获取用户存款金额 44 return scanner(); 45 } 46 47 /*根据用户输入数据合法性展示界面提示*/ 48 public void checkCardnumber(String cardnumber){ //根据用户输入卡号合法性给出相应界面信息 49 while(!depositController.checkCardnumber(cardnumber)){ 50 showMessageCardnumber(); 51 cardnumber = getCardnumber(); 52 } 53 } 54 public void checkPassword(String password){ //根据用户输入密码合法性给出相应界面信息 55 while(!depositController.checkPassword(password)){ 56 showMessageResetPassword(); 57 password = getPassword(); 58 } 59 } 60 public void checkMoney(String money){ //根据用户输入存款金额合法性给出相应界面信息 61 while(!depositController.checkMoney(money)){ 62 showMessageExit(); 63 new MainView(); 64 } 65 deposit(money); //调用控制器的存款方法 66 showMessageEnd(); //显示存款成功的信息 67 new MainView(); //返回主界面 68 } 69 70 71 /*界面视图内容输出*/ 72 public void showMessageIndex(){ //本功能界面信息提示 73 System.out.println("****************"); 74 System.out.println("你选择的为存款功能"); 75 System.out.println("请输入你要存入的卡号:"); 76 } 77 public void showMessageCardnumber(){ //提示卡号不存在,需重新输入 78 System.out.println("您输入的卡号不存在"); 79 System.out.println("请重新输入卡号:"); 80 } 81 public void showMessagePassword(){ //提示输入密码 82 System.out.println("请输入密码:"); 83 } 84 public void showMessageResetPassword(){ //提示密码不正确,需重新输入 85 System.out.println("您输入的密码不正确"); 86 System.out.println("请重新输入密码:"); 87 } 88 public void showMessageDeposit(){ //提示将显示账户信息 89 System.out.println("您要存款的账户信息为"); 90 System.out.println("****************"); 91 } 92 public void showMessageMoney(){ //提示输入存款金额 93 System.out.println("请输入您要存款的金额"); 94 } 95 public void showMessageExit(){ //提示金额无效 96 System.out.println("您输入的金额无效,系统将回到主界面!"); 97 } 98 public void showMessageEnd(){ //提示存款成功 99 System.out.println("存款成功,谢谢使用!"); 100 }101 public void showMessageCardInfo(){ //输出账户信息102 System.out.println(depositController.depositModel.card);103 }104 105 /*将合法的存款金额写入card对象并保存到文件*/106 public void deposit(String money){ //存入相应金额并保存到文件107 depositController.deposit(money); //调用控制器的存钱方法108 }109 }
1 package com.kai.li.atm; 2 3 import java.util.regex.Matcher; 4 5 /** 6 *存款控制器 7 */ 8 public class DepositController{ 9 10 /*定义存款模型变量*/11 DepositModel depositModel;12 13 /*构造方法*/14 public DepositController(){15 16 depositModel = new DepositModel(); //实例化模型对象17 18 setCard(); //从文件获取账户信息并保存在card对象19 20 }21 22 /*从文件获取账户信息并保存在card对象*/23 public void setCard(){24 try{25 depositModel.setCard();26 }catch(Exception e){27 e.printStackTrace();28 }29 }30 31 /*检测获取到的用户数据的合法性*/32 public boolean checkCardnumber(String cardnumber){ //检测卡号是否存在33 if(!cardnumber.equals(depositModel.card.getCardnumber().trim()))34 return false; //不存在返回false35 return true; //存在返回true36 }37 public boolean checkPassword(String password){ //检测密码是否正确38 if(!password.equals(depositModel.card.getPassword().trim()))39 return false; //不正确返回false40 return true; //正确返回true41 }42 public boolean checkMoney(String money){ //检测存款金额是否合法43 if(money.matches("[0-9]+")&&Double.parseDouble(money.trim())>0)44 return true; //是整数并且>0返回true45 return false; //其他返回false46 }47 48 /*存款的方法*/49 public void deposit(String money){50 String depositMoney = (Double.parseDouble(money.trim())51 + Double.parseDouble(depositModel.card.getBalance().trim()))52 + "";53 depositModel.card.setBalance(depositMoney);54 depositModel.saveInfo();55 }56 }
1 package com.kai.li.atm; 2 3 import com.kai.li.myutils.MyUtils; 4 5 6 public class DepositModel extends SearchModel{ 7 8 9 10 /*将用户输入的数据保存到硬盘中的文件中*/11 public void saveInfo(){12 try{13 MyUtils.writeToFile("d:/card.txt",card);14 }catch(Exception e){15 e.printStackTrace();16 17 }18 }19 20 }
1 package com.kai.li.atm; 2 3 import static com.kai.li.myutils.MyUtils.scanner; 4 5 /** 6 *取款视图界面 7 */ 8 public class WithdrawalView{ 9 10 /*定义控制器变量*/ 11 WithdrawalController withdrawalController; //定义控制器变量 12 13 /*构造方法*/ 14 public WithdrawalView(){ 15 16 withdrawalController = new WithdrawalController(); //初始化控制器对象 17 18 showMessageWithdrawal(); //显示界面视图信息 19 String cardnumber = getCardnumber(); //获取用户输入的卡号 20 checkCardnumber(cardnumber); //检测卡号是否存在并输并给出相关提示信息 21 22 showMessagePassword(); //提示用户输入密码 23 String password = getPassword(); //获取用户输入密码 24 checkPassword(password); //检测密码是否正确并给出相关提示信息 25 26 showMessageCardInfo(); //输出账户信息 27 showMessageMoney(); //提示用户输入取款金额 28 String money = getMoney(); //获取用户输入金额 29 checkMoney(money); //检测金额合法性并给出相关提示信息 30 31 } 32 33 /*获取用户输入*/ 34 public String getCardnumber(){ //获取用户输入卡号 35 return scanner(); 36 } 37 public String getPassword(){ //获取用户输入密码 38 return scanner(); 39 } 40 public String getMoney(){ //获取用户输入金额 41 return scanner(); 42 } 43 44 /*根据用户输入合法性做出信息提示*/ 45 public void checkCardnumber(String cardnumber){ //卡号是否存在及提示信息 46 while(!withdrawalController.checkCardnumber(cardnumber)){ 47 showMessageReset(); 48 cardnumber = getCardnumber(); 49 } 50 } 51 public void checkPassword(String password){ //密码是否正确及提示信息 52 while(!withdrawalController.checkPassword(password)){ 53 showMessagePassword(); 54 password = getPassword(); 55 } 56 } 57 public void checkMoney(String money){ //存款金额无效及提示信息 58 while(!withdrawalController.checkMoney(money)){ 59 showMessageToMainView(); 60 new MainView(); 61 } 62 withdrawal(money); 63 showMessageSuccess(); 64 new MainView(); 65 } 66 67 /*视图界面提示信息*/ 68 public void showMessageWithdrawal(){ //提示取款功能,提示输入卡号 69 System.out.println("****************"); 70 System.out.println("您选择的为取款功能"); 71 System.out.println("请输入你要取款的卡号:"); 72 } 73 public void showMessageReset(){ //提示用户卡号不存在,需重新输入卡号 74 System.out.println("您输入的卡号不存在,请重新输入"); 75 System.out.println("请输入你要取款的卡号:"); 76 } 77 public void showMessagePassword(){ //提示用户输入密码 78 System.out.println("请您输入密码:"); 79 } 80 public void showMessageResetPassword(){ //提示用户密码输入错误,需重新输入 81 System.out.println("您输入的密码不正确,请重新输入"); 82 System.out.println("请您输入密码:"); 83 } 84 public void showMessageCardInfo(){ //提示将输出账户信息并输出 85 System.out.println("您要取款的账号信息为"); 86 System.out.println("****************"); 87 showCardInfo(); 88 } 89 public void showMessageMoney(){ //提示用户输入取款金额 90 System.out.println("请输入您要取款的金额:"); 91 } 92 public void showMessageToMainView(){ //提示用户输入的取款金额无效 93 System.out.println("您输入的金额无效,系统将自动跳转到主界面!"); 94 } 95 public void showMessageSuccess(){ //提示用户取款成功 96 System.out.println("取款成功,谢谢使用!"); 97 } 98 99 /*输出用户信息*/100 public void showCardInfo(){ //将当前card的信息输出101 System.out.println(withdrawalController.withdrawalModel.card);102 }103 104 /*取款并将数据保存到文件*/105 public void withdrawal(String money){ //调用控制器取款方法并保存数据到文件106 withdrawalController.withdrawal(money);107 }108 109 }
1 package com.kai.li.atm; 2 3 import java.util.regex.Matcher; 4 5 /** 6 *取款控制器 7 */ 8 public class WithdrawalController{ 9 10 /*定义取款模型变量*/11 WithdrawalModel withdrawalModel;12 13 /*构造方法*/14 public WithdrawalController(){15 16 withdrawalModel = new WithdrawalModel(); //实例化模型对象17 18 setCard(); //从文件获取账户信息并保存在card对象19 20 }21 22 /*从文件获取账户信息并保存在card对象*/23 public void setCard(){24 try{25 withdrawalModel.setCard();26 }catch(Exception e){27 e.printStackTrace();28 }29 }30 31 /*检测获取到的用户数据的合法性*/32 public boolean checkCardnumber(String cardnumber){ //检测卡号是否存在33 if(!cardnumber.equals(withdrawalModel.card.getCardnumber().trim()))34 return false; //不存在返回false35 return true; //存在返回true36 }37 public boolean checkPassword(String password){ //检测密码是否正确38 if(!password.equals(withdrawalModel.card.getPassword().trim()))39 return false; //不正确返回false40 return true; //正确返回true41 }42 public boolean checkMoney(String money){ //检测取款金额是否合法43 if(money.matches("[0-9]+")&&Double.parseDouble(money.trim())>044 &&Double.parseDouble(money.trim())<=45 Double.parseDouble(withdrawalModel.card.getBalance().trim()))46 return true; //是整数并且>0并且<=余额返回true47 return false; //其他返回false48 }49 50 /*取款的方法*/51 public void withdrawal(String money){52 String withdrawalMoney = (Double.parseDouble(withdrawalModel.card.getBalance().trim())53 - Double.parseDouble(money.trim()))54 + "";55 withdrawalModel.card.setBalance(withdrawalMoney);56 withdrawalModel.saveInfo();57 }58 }
1 package com.kai.li.atm;2 3 /**4 *模型类5 */6 public class WithdrawalModel extends DepositModel{7 8 }
1 package com.kai.li.abc; 2 3 import java.util.Random; 4 5 /** 6 *用于传递数据的中间类 7 */ 8 public class Card{ 9 10 /*定义私有属性*/11 private String name;12 private String id;13 private String cardnumber;14 private String password;15 private String balance;16 17 /*无参构造方法*/18 public Card(){19 20 }21 22 /*开户时使用的3个参数的构造方法*/23 public Card(String name,String id,String password){24 this.name = name;25 this.id = id;26 this.password = password;27 28 this.cardnumber = (new Random().nextInt(899999)+100000)+"";29 this.balance = "0.0";30 }31 32 /*getter*/33 public String getName(){34 return name;35 }36 public String getId(){37 return id;38 }39 public String getCardnumber(){40 return cardnumber;41 }42 public String getPassword(){43 return password;44 }45 public String getBalance(){46 return balance;47 }48 49 /*setter*/50 public void setName(String name){51 this.name = name;52 }53 public void setId(String id){54 this.id = id;55 }56 public void setCardnumber(String cardnumber){57 this.cardnumber = cardnumber;58 }59 public void setPassword(String password){60 this.password = password;61 }62 public void setBalance(String balance){63 this.balance = balance;64 }65 66 /*重写toString方法*/67 @Override68 public String toString(){69 return "姓名:"+getName()+"\r\n"70 +"身份证:"+getId()+"\r\n"71 +"卡号:"+getCardnumber()+"\r\n"72 +"密码:"+getPassword()+"\r\n"73 +"余额:"+getBalance();74 }75 76 }
1 package com.kai.li.myutils; 2 3 import java.io.File; 4 import java.io.InputStream; 5 import java.io.OutputStream; 6 import java.io.FileInputStream; 7 import java.io.FileOutputStream; 8 import java.io.IOException; 9 import java.util.Scanner;10 import com.kai.li.abc.Card;11 12 /**13 *define functions byself14 *@auther kai li15 */16 public class MyUtils{17 18 /*read file contents*/19 public static String readFileContents(String filename)throws IOException{20 21 File file = new File(filename);22 InputStream in = new FileInputStream(file);23 24 int i = -1;25 byte[] str = new byte[1024];26 String strs = "";27 28 while((i = in.read(str)) != -1){29 strs = new String(str,0,i);30 }31 32 in.close();33 return strs;34 35 }36 37 /*write string to a file*/38 public static void writeToFile(String filename,Card card)throws IOException{39 40 File file = new File(filename);41 OutputStream out = new FileOutputStream(file);42 43 String str = card.toString();44 45 if(!file.exists())46 file.createNewFile();47 48 out.write(str.getBytes());49 50 out.close();51 52 }53 54 /*read string by scanner*/55 public static String scanner(){56 Scanner scanner = new Scanner(System.in);57 return scanner.nextLine();58 }59 60 /*read int by scanner*/61 public static int scannerInt(){62 Scanner scanner = new Scanner(System.in);63 return scanner.nextInt();64 }65 }
1001-----homework------version first
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。