该迷你MyBank,存贮是用对象数组来存贮的,所以比较简单,容易理解,适合新手。。
一.创建chengyuan类,在其中声明所需的成员变量:
1 public class chengyuan { 2 3 //该类为定义成员变量 4 public String account; 5 public String name ; 6 public String password; 7 public String idCard; 8 public int money; 9 10 }
二.创建fulei类,就是调用
1 public class zhulei { 2 public static void main(String[] args) { 3 fulei fu=new fulei(); 4 fu.ShowMenu(); 5 6 } 7 }
三.创建zhulei类,在其中创建函数来实现具体的功能
1 import java.awt.image.SampleModel; 2 import java.util.Scanner; 3 4 5 public class fulei { 6 Scanner input=new Scanner(System.in); 7 // public void Init(){ 8 // chen.account[0]="001"; 9 // chen.name[0]="孙悟空"; 10 // chen.password[0]= 11 12 chengyuan users []=new chengyuan[10];//此处是声明对象数组 13 14 public void Init(){ //此类是先对数组中插入一些值 15 chengyuan u1=new chengyuan(); 16 u1.account = "001"; 17 u1.name = "sunwukong"; 18 u1.password = "wukong"; 19 u1.idCard = "123412341234123412"; 20 u1.money = 10000; 21 users[0] = u1; 22 chengyuan u2 = new chengyuan(); 23 u2.account = "002"; 24 u2.name = "zhubajie"; 25 u2.password = "bajie"; 26 u2.idCard = "123412341234123413"; 27 u2.money = 20000; 28 users[1] = u2; 29 chengyuan u3 = new chengyuan(); 30 u3.account = "003"; 31 u3.name = "shawujing"; 32 u3.password = "wujing"; 33 u3.idCard = "123412341234123414"; 34 u3.money = 30000; 35 users[2] = u3; 36 } 37 38 public void ShowMenu() { 39 // TODO Auto-generated method stub 40 Init(); //初始化该对象数组 41 while(true){ 42 System.out.println("======================================"); 43 System.out.println("===============MyBank================="); 44 System.out.println("=功能菜单如下:========================"); 45 System.out.println("==1:开户 2:存款 3:取款 4:转账 5:查询余额=="); 46 System.out.println("====6:修改密码 7:显示所有信息 0:退出====="); 47 System.out.println("================请选择================"); 48 49 50 if(input.hasNextInt()==true){ //判断系统输入是否为int类型 51 int select=input.nextInt(); 52 switch (select) { 53 case 1: 54 CreatUsers(); 55 break; 56 case 2: 57 SaveMoney(); 58 break; 59 case 3: 60 OutMoney(); 61 break; 62 case 4: 63 MoveMoney(); 64 break; 65 case 5: 66 FindMoney(); 67 break; 68 case 6: 69 UpdatePwd(); 70 break; 71 case 7: 72 ShowInfo(); 73 break; 74 case 0: 75 System.out.println("系统退出,谢谢使用"); 76 return; 77 default: 78 System.out.println("只能输入0-7的数字!!!"); 79 break; 80 } 81 }else { 82 System.out.println("输入内容中含非法字符,请重新尝试!"); 83 input.next(); //释放资源 84 } 85 86 System.out.println(); //换行 87 System.out.println(); 88 } 89 //----------------- 90 } 91 92 /** 93 * 修改密码 94 */ 95 private void UpdatePwd() { 96 // TODO Auto-generated method stub 97 System.out.println("请输入账号:"); 98 String zhang=input.next(); 99 System.out.println("请输入密码:"); 100 String pwd=input.next(); 101 chengyuan u=GetUser(zhang); 102 if (u==null) { 103 System.out.println("库中无该账户"); 104 return; 105 } 106 if (!u.password.equals(pwd)) { 107 System.out.println("密码错误,请重新尝试"); 108 return; 109 } 110 System.out.println("登录成功,可以修改密码!"); 111 System.out.println(); 112 for (int i = 1; i <= 3; i++) { //三次循环 113 System.out.println("请输入新密码:"); 114 String pwd_1=input.next(); 115 System.out.println("请再次输入密码:"); 116 String pwd_2=input.next(); 117 if(PwdSame(pwd_1, pwd_2)){ 118 u.password=pwd_1; 119 System.out.println("账号:"+zhang+";密码修改成功,新密码为"+u.password); 120 return; 121 }else { 122 if(i==2) 123 System.out.println("两次密码输入不正确,请重新输入!!你还要两次输入机会"); 124 if(i==1) 125 System.out.println("两次密码输入不正确,请重新输入!!你还要一次输入机会"); 126 } 127 } 128 } 129 130 /** 131 * 查询余额 132 * 验证是否登录 133 */ 134 private void FindMoney() { 135 // TODO Auto-generated method stub 136 System.out.println("请输入账号:"); 137 String zhang=input.next(); 138 System.out.println("请输入密码:"); 139 String pwd=input.next(); 140 chengyuan u=GetUser(zhang); 141 if (u==null) { 142 System.out.println("库中无该账户"); 143 return; 144 } 145 if (!u.password.equals(pwd)) { 146 System.out.println("密码错误,请重新尝试"); 147 return; 148 } 149 System.out.println("具体信息如下"); 150 System.out.println("账号:"+u.account+"\t用户名:"+u.name+"\t密码:"+u.password+"\t身份证号是:"+u.idCard+"\t账户余额:"+u.money); 151 } 152 153 /** 154 * 转账;;; 155 * 判断两次账号是否存在!!! 156 */ 157 158 private void MoveMoney() { 159 // TODO Auto-generated method stub 160 System.out.println("请输入账号:"); 161 String zhang=input.next(); 162 System.out.println("请输入密码:"); 163 String pwd=input.next(); 164 chengyuan u=GetUser(zhang); 165 if (u==null) { 166 System.out.println("库中无该账户"); 167 return; 168 } 169 if (!u.password.equals(pwd)) { 170 System.out.println("密码错误,请重新尝试"); 171 return; 172 } 173 System.out.println("账户登录成功!"); 174 System.out.println(); //换行 175 System.out.println("请输入要转入的账号"); 176 String zhang_move=input.next(); 177 chengyuan u_move=GetUser(zhang_move); 178 if (u_move==null) { 179 System.out.println("该账户不存在!!请确认后重新尝试!!!"); 180 } 181 System.out.print("请输入转账的金额:"); 182 int money=input.nextInt(); 183 if (u.money<money) { 184 System.out.println("该账户余额不足!无法进行转账!!"); 185 return; 186 } 187 u.money-=money; 188 u_move.money+=money; 189 System.out.println(zhang+"转账成功!!当前余额为"+u.money); 190 } 191 192 /** 193 * 取款 194 * 接收输入值 195 * 注意点:字符串的比较 196 */ 197 private void OutMoney() { 198 // TODO Auto-generated method stub 199 System.out.println("请输入账号:"); 200 String zhang=input.next(); 201 System.out.println("请输入密码:"); 202 String pwd=input.next(); 203 chengyuan u=GetUser(zhang); 204 if (u==null) { 205 System.out.println("库中无该账户"); 206 return; 207 } 208 if (!u.password.equals(pwd)) { 209 System.out.println("密码错误,请重新尝试"); 210 return; 211 } 212 System.out.print("请输入取款金额:"); 213 int money=input.nextInt(); 214 if (u.money<money) { 215 System.out.println("账户的余额不足!!!"); 216 return; 217 } 218 u.money-=money; 219 System.out.println(zhang+"账号取款成功,当前余额为:"+u.money); 220 221 } 222 223 /** 224 * 存款 225 * 验证 226 * 对值进行修改 227 */ 228 private void SaveMoney() { 229 //chengyuan u=new chengyuan(); 230 // TODO Auto-generated method stub 231 System.out.println("请输入账号:"); 232 String zhang=input.next(); 233 System.out.println("请输入密码:"); 234 String pwd=input.next(); 235 chengyuan u=GetUser(zhang); 236 if (u==null) { 237 System.out.println("库中无该账户"); 238 return; 239 } 240 if (!u.password.equals(pwd)) { 241 System.out.println("密码错误,请重新尝试"); 242 return; 243 } 244 System.out.print("请输入存款金额:"); 245 int money=input.nextInt(); 246 u.money+=money; 247 System.out.println(zhang+"账号存款成功,当前余额为:"+u.money); 248 249 } 250 251 252 //写一个返回用户对象的函数 253 private chengyuan GetUser(String zhang) { 254 // TODO Auto-generated method stub 255 chengyuan u=new chengyuan(); 256 // for (int i = 0; i < users.length; i++) { 257 // if (users[i].account.equals(zhang)) { 258 // u=users[i]; 259 // 260 // }else if(i==users.length-1){ 261 // 262 // break; 263 // } 264 // 265 // } 266 u=null; 267 for (chengyuan sui : users) { 268 if (sui !=null) { 269 if (sui.account.equals(zhang)) { 270 u=sui; 271 break; 272 } 273 } 274 } 275 return u; 276 } 277 278 279 280 281 282 283 284 /** 285 * 显示所有信息 286 * 循环 287 */ 288 private void ShowInfo() { 289 // TODO Auto-generated method stub 290 for (int i = 0; i < this.users.length; i++) { 291 if(users[i]!=null){ 292 System.out.println("账号:"+users[i].account+"\t用户名:"+users[i].name+"\t密码:"+users[i].password+"\t身份证号是:"+users[i].idCard+"\t账户余额:"+users[i].money); 293 }else { 294 break; 295 } 296 } 297 } 298 //---------------- 299 300 /** 301 * 增加用户 302 * 接收输入语句 303 * 先在对象数组中找到空 304 * 在空中赋值 305 */ 306 private void CreatUsers() { 307 // TODO Auto-generated method stub 308 chengyuan u=new chengyuan(); 309 System.out.print("请输入姓名:"); 310 String name1=input.next(); 311 System.out.print("请输入密码:"); 312 String pwd_1=input.next(); 313 System.out.print("请再次输入密码:"); 314 String pwd_2=input.next(); 315 System.out.print("请输入身份证号:"); 316 String cardno=input.next(); 317 System.out.print("请输入开户金额:"); 318 int qian=input.nextInt(); 319 String acc="1010"+(int)(Math.random()*10000); 320 if(PwdSame(pwd_1,pwd_2)){ 321 System.out.println("\n开户成功,开户信息如下:"); 322 System.out.println("账号:"+acc+"\t用户名:"+name1+"\t密码:"+pwd_1+"\t身份证号是:"+cardno+"\t账户余额:"+qian); 323 for (int i = 0; i < users.length; i++) { //找到空位,赋值 324 if(users[i]==null){ 325 u.account=acc; 326 u.name=name1; 327 u.idCard=cardno; 328 u.money=qian; 329 u.password=pwd_1; 330 users[i]=u; 331 return; 332 } 333 } 334 }else { 335 System.out.println("两次密码输入不一致,请重新尝试!"); 336 return; 337 } 338 } 339 340 /** 341 * 判断两次密码是否一致的类,返回布尔型 342 */ 343 public boolean PwdSame(String pwd_1,String pwd_2 ){ 344 return pwd_1.equals(pwd_2); 345 } 346 }
仅供参考,无需同意,随意转载。
时间: 2024-10-14 04:34:28