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

博客类网站源码新手做电商如何起步

博客类网站源码,新手做电商如何起步,建设网站外贸,技术支持 英铭网站建设文章目录 Java项目实战#xff1a;手把手开发ATM银行系统#xff08;附完整源码#xff09;一、系统架构设计1. 三层架构模型2. 核心数据结构 二、核心功能实现1. 开户功能#xff08;含唯一卡号生成#xff09;2. 登录安全验证3. 存取款业务4. 安全转账实现 三、账户安全… 文章目录 Java项目实战手把手开发ATM银行系统附完整源码一、系统架构设计1. 三层架构模型2. 核心数据结构 二、核心功能实现1. 开户功能含唯一卡号生成2. 登录安全验证3. 存取款业务4. 安全转账实现 三、账户安全管理1. 密码修改流程2. 销户安全规则 四、项目亮点与优化建议安全设计亮点可扩展功能性能优化建议 五、学习收获总结 Java项目实战手把手开发ATM银行系统附完整源码 本文通过一个完整的ATM系统开发案例深入讲解Java面向对象编程、集合应用和业务逻辑设计帮助初学者快速提升项目实战能力 一、系统架构设计 1. 三层架构模型 // 1. 账户实体类数据层 public class Account {private String cardId; // 卡号private String userName; // 用户名private char sex; // 性别private String passWord; // 密码private double money; // 余额private double limit; // 单次取现额度// Getter/Setter方法 }// 2. ATM系统类业务逻辑层 public class ATM {private ArrayListAccount accounts new ArrayList();private Scanner sc new Scanner(System.in);private Account loginAcc; // 当前登录账户public void start() { /* 系统入口 */ } }// 3. 测试类表示层 public class Test {public static void main(String[] args) {ATM atm new ATM();atm.start(); // 启动系统} }2. 核心数据结构 // 使用ArrayList动态存储账户 private ArrayListAccount accounts new ArrayList();二、核心功能实现 1. 开户功能含唯一卡号生成 private void createAccount() {Account acc new Account();// 信息录入姓名、性别、密码校验System.out.print(请输入姓名);acc.setUserName(sc.next());// 性别校验while(true) {System.out.print(请输入性别(男/女));char sex sc.next().charAt(0);if(sex 男 || sex 女) {acc.setSex(sex);break;}}// 生成唯一卡号8位数字acc.setCardId(createCardId());accounts.add(acc);System.out.println(开户成功卡号 acc.getCardId()); }// 唯一卡号生成算法 private String createCardId() {Random r new Random();while(true) {String cardId ;for(int i0; i8; i) {cardId r.nextInt(10);}// 检查卡号唯一性if(getAccountByCardId(cardId) null) {return cardId;}} }2. 登录安全验证 private void login() {if(accounts.isEmpty()) {System.out.println(系统暂无账户);return;}while(true) {System.out.print(输入卡号);String cardId sc.next();Account acc getAccountByCardId(cardId);if(acc ! null) {// 密码尝试次数控制int tryCount 0;while(tryCount 3) {System.out.print(输入密码);String pwd sc.next();if(acc.getPassWord().equals(pwd)) {loginAcc acc;showUserCommand(); // 进入操作界面return;}tryCount;}System.out.println(密码错误次数过多);return;}} }3. 存取款业务 // 存款 private void deposit() {System.out.print(输入存款金额);double money sc.nextDouble();loginAcc.setMoney(loginAcc.getMoney() money);System.out.println(存款成功余额 loginAcc.getMoney()); }// 取款含风控校验 private void withdraw() {// 最低余额限制if(loginAcc.getMoney() 100) {System.out.println(余额不足100元);return;}while(true) {System.out.print(输入取款金额);double money sc.nextDouble();// 双重校验if(money loginAcc.getLimit()) {System.out.println(超过单笔限额 loginAcc.getLimit());} else if(money loginAcc.getMoney()) {System.out.println(余额不足);} else {loginAcc.setMoney(loginAcc.getMoney() - money);System.out.println(取款成功余额 loginAcc.getMoney());break;}} }4. 安全转账实现 private void transfer() {// 系统账户检查if(accounts.size() 2) {System.out.println(系统账户不足);return;}while(true) {System.out.print(输入对方卡号);String cardId sc.next();Account targetAcc getAccountByCardId(cardId);if(targetAcc ! null) {// 姓氏验证安全措施String maskName * targetAcc.getUserName().substring(1);System.out.print(请输入【 maskName 】的姓氏);String inputName sc.next();if(targetAcc.getUserName().startsWith(inputName)) {// 转账金额校验System.out.print(输入转账金额);double money sc.nextDouble();if(loginAcc.getMoney() money) {// 执行转账loginAcc.setMoney(loginAcc.getMoney() - money);targetAcc.setMoney(targetAcc.getMoney() money);System.out.println(转账成功);return;} else {System.out.println(余额不足);}}}} }三、账户安全管理 1. 密码修改流程 private void updatePassword() {// 原密码验证System.out.print(输入当前密码);String oldPwd sc.next();if(!loginAcc.getPassWord().equals(oldPwd)) {System.out.println(密码错误);return;}// 新密码二次确认while(true) {System.out.print(输入新密码);String newPwd sc.next();System.out.print(确认新密码);String confirmPwd sc.next();if(newPwd.equals(confirmPwd)) {loginAcc.setPassWord(newPwd);System.out.println(密码修改成功);return;}System.out.println(两次输入不一致);} }2. 销户安全规则 private void closeAccount() {// 二次确认System.out.print(确认销户(y/n));String confirm sc.next();if(y.equalsIgnoreCase(confirm)) {// 余额检查if(loginAcc.getMoney() 0) {System.out.println(账户仍有余额无法销户);return;}accounts.remove(loginAcc);System.out.println(销户成功);} }四、项目亮点与优化建议 安全设计亮点 卡号唯一性校验8位随机数重复检测敏感操作验证转账时的姓氏确认密码安全策略修改密码需原密码二次确认余额保护机制销户前余额强制清零 可扩展功能 #mermaid-svg-Yuk52humA0xNIY9O {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-Yuk52humA0xNIY9O .error-icon{fill:#552222;}#mermaid-svg-Yuk52humA0xNIY9O .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-Yuk52humA0xNIY9O .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-Yuk52humA0xNIY9O .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-Yuk52humA0xNIY9O .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-Yuk52humA0xNIY9O .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-Yuk52humA0xNIY9O .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-Yuk52humA0xNIY9O .marker{fill:#333333;stroke:#333333;}#mermaid-svg-Yuk52humA0xNIY9O .marker.cross{stroke:#333333;}#mermaid-svg-Yuk52humA0xNIY9O svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-Yuk52humA0xNIY9O .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-Yuk52humA0xNIY9O .cluster-label text{fill:#333;}#mermaid-svg-Yuk52humA0xNIY9O .cluster-label span{color:#333;}#mermaid-svg-Yuk52humA0xNIY9O .label text,#mermaid-svg-Yuk52humA0xNIY9O span{fill:#333;color:#333;}#mermaid-svg-Yuk52humA0xNIY9O .node rect,#mermaid-svg-Yuk52humA0xNIY9O .node circle,#mermaid-svg-Yuk52humA0xNIY9O .node ellipse,#mermaid-svg-Yuk52humA0xNIY9O .node polygon,#mermaid-svg-Yuk52humA0xNIY9O .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-Yuk52humA0xNIY9O .node .label{text-align:center;}#mermaid-svg-Yuk52humA0xNIY9O .node.clickable{cursor:pointer;}#mermaid-svg-Yuk52humA0xNIY9O .arrowheadPath{fill:#333333;}#mermaid-svg-Yuk52humA0xNIY9O .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-Yuk52humA0xNIY9O .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-Yuk52humA0xNIY9O .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-Yuk52humA0xNIY9O .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-Yuk52humA0xNIY9O .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-Yuk52humA0xNIY9O .cluster text{fill:#333;}#mermaid-svg-Yuk52humA0xNIY9O .cluster span{color:#333;}#mermaid-svg-Yuk52humA0xNIY9O div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-Yuk52humA0xNIY9O :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 基础功能 交易记录 利息计算 多币种支持 短信通知 性能优化建议 使用HashMap优化账户查找HashMapString, Account添加交易流水记录功能实现数据持久化文件存储增加每日交易限额控制 源码获取ATM系统完整项目代码 五、学习收获总结 通过本项目开发者将掌握 面向对象设计能力 实体类的合理封装业务逻辑分层实现 集合框架实战应用 ArrayList的CRUD操作集合元素的遍历与查找 业务逻辑设计思维 金融级安全校验异常流程处理用户交互设计 项目架构能力 三层架构实现高内聚低耦合设计 项目总结本ATM系统涵盖了Java核心技术的实际应用是初学者进阶的绝佳练手项目。通过实现金融级业务逻辑开发者能够深入理解面向对象设计思想为后续企业级开发奠定坚实基础。
http://www.zqtcl.cn/news/328023/

相关文章:

  • 一个空间怎么放两个网站ps个人网站首页怎么制作
  • 云南通耀建设工程有限公司网站国际购物网站平台有哪些
  • 网站建设外包服务上海网站建设公司怎么分辨好坏
  • 建筑类企业网站模板下载微信搜索推广
  • 上海网站备案在哪里wordpress短链接关键字
  • 金诚财富网站是谁做的建站技术博客
  • 黔东南网站设计公司儿童衣服刘涛做代言那个是什么网站
  • 网站首页样式百度推广是什么工作
  • 广告手机网站制作阿里云域名 设置网站
  • 杭州市拱墅区网站建设ui培训有用么
  • 广东手机网站建设多少钱邯郸市做网站的公司
  • seo网站优化推广怎么做龙岗中心医院
  • 建网站程序智能网站建设平台
  • 建筑公司分几级资质seo入门培训
  • wap类网站上海网站建设免费推
  • 网站建设哪家好公司建设银行网站怎么登陆不
  • 关于建设网站的需求wordpress不能发布文章
  • 如何一键建淘宝客网站中国建设银行金华分行网站
  • 给wordpress添加公告英语seo
  • 佛山市网站建设系统wap浏览器网页版
  • 关于小说网站的一些建设流程学做蛋糕有哪些网站
  • 益阳购物网站开发设计禹城网站制作
  • 教育网站开发文档全网营销推广案例
  • 最流行的网站开发框架wordpress阅读权限
  • 怎么做推广网站创立网站
  • 制作自己的网站需要什么材料网站计费系统怎么做
  • 网站和域名的区别昆山网站开发建设公司
  • 兼职网站推广如何做西安市商标局
  • 打开网站说建设中是什么问题莱芜金点子招小时工
  • 做网站的相关协议秦皇岛解封最新消息今天