当前位置: 首页 > news >正文

个人网站可以做百度搜索妈妈成都seo正规优化

个人网站可以做百度搜索妈妈,成都seo正规优化,做淘宝需要知道什么网站,windows wordpress固定链接前言: 基础语句学完,也可以编写一些像样的程序了,现在要做的是多加练习,巩固下知识点,打好基础,daydayup! 题目:模仿银行ATM系统,可以创建用户,存钱,转账&…

前言:

基础语句学完,也可以编写一些像样的程序了,现在要做的是多加练习,巩固下知识点,打好基础,daydayup!

题目:模仿银行ATM系统,可以创建用户,存钱,转账,修改密码注销账户等操作

思路:利用面向对象编程:1,定义一个账户类Account,至少需要包含(卡号、姓名、性别、密码、余额、每次取现额度);2,定义一个ATM类,用来代表ATM系统,负责提供所有的业务需求;3,定义一个测试类Test,负责对我们开发的ATM系统进行测试。

1,创建实体类:

创建一个实体类,用来记录姓名、卡号、性别、密码、余额、每次取现额度等信息。

public class Account {private String card;private String username ;private  char sex;private  String password;private double money;private  double limit;public Account() {}public String getCard() {return card;}public void setCard(String card) {this.card = card;}public String getUsername() {return username + (sex=='男'? "先生":"女士");}public void setUsername(String username) {this.username = username;}public char getSex() {return sex;}public void setSex(char sex) {this.sex = sex;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public double getMoney() {return money;}public void setMoney(double money) {this.money = money;}public double getLimit() {return limit;}public void setLimit(double limit) {this.limit = limit;}
}

2,创建操作类:

1,创建界面 

通过选择1,或选择2进入系统

  public void start(){Scanner sc =new Scanner(System.in);while (true) {System.out.println("======欢迎来到ATM=======");System.out.println("1,用户登陆");System.out.println("2,用户开户");System.out.println("请选择");int id =sc.nextInt();switch (id){case 1://用户登陆login();break;case 2://用户开户Operator();break;default:System.out.println("请重新输入");}}}

2,用户开户 

运用Scanner输入来记入需要记录的信息,值得一提的是:由于Scanner没办法记录char变量,所以使用charAt来取第一个值。

   private  void Operator(){Account acc = new Account();System.out.println("请输入姓名");String name = sc.next();acc.setUsername(name);while (true) {System.out.println("请输入性别(男/女)");char sex = sc.next().charAt(0);if (sex == '男'|| sex == '女'){acc.setSex(sex);break;}else{System.out.println("请输入(男/女)");}}while (true) {System.out.println("请设置你的密码");String password = sc.next();System.out.println("请再次输入你的密码");String okpassword = sc.next();if (password.equals(okpassword)){acc.setPassword(okpassword);break;}else{System.out.println("两次密码不一致,请重新输入");}}System.out.println("请设置每日取款限额");double limit = sc.nextDouble();acc.setLimit(limit);String id =card();acc.setCard(id);accounts.add(acc);System.out.println("恭喜"+acc.getUsername()+"开户成功,您的卡号为:"+acc.getCard());}
2.1系统输入卡号 

由于卡号需要随机生成8位数字,并且不能与其他人的号码重复,所以需要建立两个方法来做调试。一个方法用于生成8位随机数字,一个方法用于检测号码是否重复

private String card(){Random r = new Random();while (true) {String id = "";for (int i = 0; i < 8; i++) {int data=  r.nextInt(10);id +=data;}Account acc= vs(id);if (acc == null){return id;}}}private  Account vs (String card){for (int i = 0; i <accounts.size(); i++) {Account acc= accounts.get(i);if (acc.getCard().equals(card)){return acc;}}return null;

 这样一来,开户也就成功了。接下来是登陆的操作。

3,用户登陆

需要注意的是:当系统中没有账号时,要提示没有账号。登陆时需要注意号码的匹对。

 private void login(){if (accounts.size()==0){System.out.println("请先创建账号");return;}while (true) {System.out.println("请输入卡号");String card = sc.next();Account acc = vs(card);if(acc == null){System.out.println("没有该账号,请重新输入");}else if(acc.getCard().equals(card)){while (true) {System.out.println("请输入密码");String password =sc.next();if (acc.getPassword().equals(password)){acco = acc;check();return;}else{System.out.println("密码不正确,请重新输入");}}}}}

4,业务界面

登陆成功后,便可进行业务选择。运用switch语句可以精准选择业务需求

private void check(){while (true) {System.out.println(acco.getUsername()+"你可以办理以下业务");System.out.println("1.查询账户");System.out.println("2.存款");System.out.println("3.取款");System.out.println("4.转账");System.out.println("5.修改密码");System.out.println("6.退出");System.out.println("7.注销账户");System.out.println("请选择");int check= sc.nextInt();switch (check){case 1:idcheck();break;case 2:moenycheck();break;case 3:moneyleave();break;case 4:transmoney();break;case 5:changepassword();return;case 6:System.out.println("你已经退出");return;case 7:if (deleteid());return;default:System.out.println("你输入的数字有误,请重新输入");}}}
4.1账户确认

建议独立一个方法,其他没什么需要注意的

private  void idcheck(){System.out.println("号码:"+acco.getCard());System.out.println("性别:"+acco.getSex());System.out.println("存款:"+acco.getMoney());System.out.println("每日限额:"+acco.getLimit());}
4.2存款 

 熟用switch语句及死循环能够很好的解决问题

private void moenycheck() {while (true) {System.out.println("欢迎来到存款界面");System.out.println("存款请按1");System.out.println("退出请按2");int sd = sc.nextInt();switch (sd){case 1:System.out.println("请输入你要存多少");double money= sc.nextDouble();System.out.println("请问你确定要存入"+money+"么");System.out.println("确定请按1");System.out.println("返回请按2");int cc =sc.nextInt();switch (cc){case 1:acco.setMoney(acco.getMoney()+money);System.out.println("您的余额为"+acco.getMoney());break;case 2:return;default:System.out.println("请重新输入");}break;case 2:return;default:System.out.println("请重新输入");}}}
4.3取款 

一连串的switch语句和if问句,解决每一项逻辑

 private void moneyleave() {while (true) {System.out.println("欢迎来到取款界面");System.out.println("取款请按1");System.out.println("退出请按2");int sd = sc.nextInt();switch(sd){case 1:System.out.println("你目前的存款为" + acco.getMoney());if (acco.getMoney() < 100) {System.out.println("最低取款金额为100,您的余额不足");break;} else {System.out.println("请输入你要取走的金额");double money = sc.nextDouble();if (acco.getMoney()<money){System.out.println("您的余额不足,请重新输入");break;}else{if (money>acco.getLimit()){System.out.println("您已超过限额,请重新输入");break;}else{System.out.println("您已取走"+money+"元");acco.setMoney(acco.getMoney()- money);System.out.println("您的余额为:"+acco.getMoney());}}}break;case 2:return;default:System.out.println("请重新输入");}}}
4.4转账

选要注意的是:这里需要判断对方的姓氏,采用的方法为“*”加上第二位开始的名字。转账者需要填写姓氏后运用startwith语句进行匹配。

private void transmoney() {while (true) {System.out.println("欢迎来到转账界面");System.out.println("转账请按1");System.out.println("退出请按2");int sd = sc.nextInt();switch (sd){case 1:if (accounts.size()<2){System.out.println("当前系统中只有一个账号,请创建新的账号");break;}if (acco.getMoney()==0){System.out.println("您的余额不足,不能转账");break;}System.out.println("请输入对方的账号");String id =sc.next();Account acc =vs(id);if (acc == null){System.out.println("没有该账号,请重新输入");}else{String name ="*"+acc.getUsername().substring(1);System.out.println("请输入【"+name+"】的姓氏");String trname =sc.next();if (acc.getUsername().startsWith(trname)){System.out.println("请输入转账金额");double money =sc.nextDouble();if (acco.getMoney() >= money){acco.setMoney(acco.getMoney()-money);acc.setMoney(acc.getMoney()+ money);System.out.println("您已转账"+money+"元,您的余额为"+acco.getMoney());break;}else{System.out.println("您的余额不足,不能转账");}}else {System.out.println("姓氏认证有问题");}}break;case 2:return;}}}
4.5 更换密码

使用if语句询问即可,需要注意的是,最后要用return返回,不能用break,(return是退出方法,break是退出循环)

 private void changepassword() {while (true) {System.out.println("欢迎来到更换密码界面");System.out.println("输入当前密码");String pass =sc.next();if (acco.getPassword().equals(pass)){System.out.println("输入新密码");String okpass =sc.next();System.out.println("再一次输入新密码");String okkpass =sc.next();if (okkpass.equals(okpass)){acco.setPassword(okkpass);System.out.println("修改密码成功");return;}else{System.out.println("密码有误");}}else {System.out.println("密码有误");}}}
4.6退出系统  

用return即可

  case 6:System.out.println("你已经退出");return;
4.7删除账户 

删除当前账户即可。当前账户和创建账户的实体类是同一个地址,删除当前账户就是在ArrayList中删除了当前账户实体类的地址

  private boolean deleteid() {while (true) {System.out.println("确定删除么(y/n)");String sd =sc.next();switch (sd){case "y":if (acco.getMoney()==0){accounts.remove(acco);return true;}else{System.out.println("还有存款,不能销户");return false;}default:System.out.println("删除失败");return false;}}}

操作完整版在这里 

这样操作类就完成了,有需要的可以复制这个完整版


import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;public class ATMOperator {private ArrayList<Account> accounts = new ArrayList<>();private Scanner sc = new Scanner(System.in);private  Account acco = new Account();public void start(){Scanner sc =new Scanner(System.in);while (true) {System.out.println("======欢迎来到ATM=======");System.out.println("1,用户登陆");System.out.println("2,用户开户");System.out.println("请选择");int id =sc.nextInt();switch (id){case 1://用户登陆login();break;case 2://用户开户Operator();break;default:System.out.println("请重新输入");}}}private void login(){if (accounts.size()==0){System.out.println("请先创建账号");return;}while (true) {System.out.println("请输入卡号");String card = sc.next();Account acc = vs(card);if(acc == null){System.out.println("没有该账号,请重新输入");}else if(acc.getCard().equals(card)){while (true) {System.out.println("请输入密码");String password =sc.next();if (acc.getPassword().equals(password)){acco = acc;check();return;}else{System.out.println("密码不正确,请重新输入");}}}}}private void check(){while (true) {System.out.println(acco.getUsername()+"你可以办理以下业务");System.out.println("1.查询账户");System.out.println("2.存款");System.out.println("3.取款");System.out.println("4.转账");System.out.println("5.修改密码");System.out.println("6.退出");System.out.println("7.注销账户");System.out.println("请选择");int check= sc.nextInt();switch (check){case 1:idcheck();break;case 2:moenycheck();break;case 3:moneyleave();break;case 4:transmoney();break;case 5:changepassword();return;case 6:System.out.println("你已经退出");return;case 7:if (deleteid());return;default:System.out.println("你输入的数字有误,请重新输入");}}}private void changepassword() {while (true) {System.out.println("欢迎来到更换密码界面");System.out.println("输入当前密码");String pass =sc.next();if (acco.getPassword().equals(pass)){System.out.println("输入新密码");String okpass =sc.next();System.out.println("再一次输入新密码");String okkpass =sc.next();if (okkpass.equals(okpass)){acco.setPassword(okkpass);System.out.println("修改密码成功");return;}else{System.out.println("密码有误");}}else {System.out.println("密码有误");}}}private boolean deleteid() {while (true) {System.out.println("确定删除么(y/n)");String sd =sc.next();switch (sd){case "y":if (acco.getMoney()==0){accounts.remove(acco);return true;}else{System.out.println("还有存款,不能销户");return false;}default:System.out.println("删除失败");return false;}}}private void transmoney() {while (true) {System.out.println("欢迎来到转账界面");System.out.println("转账请按1");System.out.println("退出请按2");int sd = sc.nextInt();switch (sd){case 1:if (accounts.size()<2){System.out.println("当前系统中只有一个账号,请创建新的账号");break;}if (acco.getMoney()==0){System.out.println("您的余额不足,不能转账");break;}System.out.println("请输入对方的账号");String id =sc.next();Account acc =vs(id);if (acc == null){System.out.println("没有该账号,请重新输入");}else{String name ="*"+acc.getUsername().substring(1);System.out.println("请输入【"+name+"】的姓氏");String trname =sc.next();if (acc.getUsername().startsWith(trname)){System.out.println("请输入转账金额");double money =sc.nextDouble();if (acco.getMoney() >= money){acco.setMoney(acco.getMoney()-money);acc.setMoney(acc.getMoney()+ money);System.out.println("您已转账"+money+"元,您的余额为"+acco.getMoney());break;}else{System.out.println("您的余额不足,不能转账");}}else {System.out.println("姓氏认证有问题");}}break;case 2:return;}}}private void moneyleave() {while (true) {System.out.println("欢迎来到取款界面");System.out.println("取款请按1");System.out.println("退出请按2");int sd = sc.nextInt();switch(sd){case 1:System.out.println("你目前的存款为" + acco.getMoney());if (acco.getMoney() < 100) {System.out.println("最低取款金额为100,您的余额不足");break;} else {System.out.println("请输入你要取走的金额");double money = sc.nextDouble();if (acco.getMoney()<money){System.out.println("您的余额不足,请重新输入");break;}else{if (money>acco.getLimit()){System.out.println("您已超过限额,请重新输入");break;}else{System.out.println("您已取走"+money+"元");acco.setMoney(acco.getMoney()- money);System.out.println("您的余额为:"+acco.getMoney());}}}break;case 2:return;default:System.out.println("请重新输入");}}}private void moenycheck() {while (true) {System.out.println("欢迎来到存款界面");System.out.println("存款请按1");System.out.println("退出请按2");int sd = sc.nextInt();switch (sd){case 1:System.out.println("请输入你要存多少");double money= sc.nextDouble();System.out.println("请问你确定要存入"+money+"么");System.out.println("确定请按1");System.out.println("返回请按2");int cc =sc.nextInt();switch (cc){case 1:acco.setMoney(acco.getMoney()+money);System.out.println("您的余额为"+acco.getMoney());break;case 2:return;default:System.out.println("请重新输入");}break;case 2:return;default:System.out.println("请重新输入");}}}private  void idcheck(){System.out.println("号码:"+acco.getCard());System.out.println("性别:"+acco.getSex());System.out.println("存款:"+acco.getMoney());System.out.println("每日限额:"+acco.getLimit());}private  void Operator(){Account acc = new Account();System.out.println("请输入姓名");String name = sc.next();acc.setUsername(name);while (true) {System.out.println("请输入性别(男/女)");char sex = sc.next().charAt(0);if (sex == '男'|| sex == '女'){acc.setSex(sex);break;}else{System.out.println("请输入(男/女)");}}while (true) {System.out.println("请设置你的密码");String password = sc.next();System.out.println("请再次输入你的密码");String okpassword = sc.next();if (password.equals(okpassword)){acc.setPassword(okpassword);break;}else{System.out.println("两次密码不一致,请重新输入");}}System.out.println("请设置每日取款限额");double limit = sc.nextDouble();acc.setLimit(limit);String id =card();acc.setCard(id);accounts.add(acc);System.out.println("恭喜"+acc.getUsername()+"开户成功,您的卡号为:"+acc.getCard());}private String card(){Random r = new Random();while (true) {String id = "";for (int i = 0; i < 8; i++) {int data=  r.nextInt(10);id +=data;}Account acc= vs(id);if (acc == null){return id;}}}private  Account vs (String card){for (int i = 0; i <accounts.size(); i++) {Account acc= accounts.get(i);if (acc.getCard().equals(card)){return acc;}}return null;}
}

最后测试:

public class ATMDemo {public static void main(String[] args) {ATMOperator de = new ATMOperator();de.start();}}

 测试效果:

总结:完美运行,有些语句需要在加强,熟用if语句和switch可以完成精准操作

整理结束撒花!!!! 

 

http://www.hkea.cn/news/37503/

相关文章:

  • 联通的网站是谁做的营销的主要目的有哪些
  • 衡阳微信网站地推的方法和技巧
  • 南阳做网站公司哪家好自动发外链工具
  • 潍坊网站制作最低价格网络营销案例有哪些
  • 做网站有谁做谷歌seo视频教程
  • 资深的网站推广完美日记网络营销策划书
  • 90设计网站免费素材网站seo培训
  • 整形美容网站源码上海seo优化bwyseo
  • 武威市住房和建设局网站百度app下载安装普通下载
  • 网站物理结构天津百度推广排名
  • 美容平台网站建设百度指数查询移动版
  • 工程公司手机网站建立网站怎么搞
  • 做网站软件wd惠州seo外包
  • 聊城做网站seo关键词分类
  • 网站做公司女生学网络营销这个专业好吗
  • 网络运营主要工作内容seo教程自学入门教材
  • 用其他商标在自己网站做宣传百度云网盘资源分享网站
  • 对商家而言网站建设的好处淘宝关键词查询工具哪个好
  • 做简单网站代码关键词推广价格
  • 做品牌折扣的网站百度推广的五大优势
  • 南宁比较有好的网站制作公司百度推广后台登录页面
  • 长沙企业网站排名优化windows优化大师和360哪个好
  • 珠海网站开发维护科技公司免费的网络推广渠道有哪些
  • wp建站系统微信营销管理软件
  • 本地打开WordPress慢百度seo优化分析
  • 适合友情链接的网站排名函数
  • 开发公司岗位设置广州seo招聘网
  • 国内web设计网站宣传推广
  • 深圳高端网站定制公司小时seo
  • wordpress主菜单下拉箭头怎么设置台州seo排名优化