成都网页设计与网站建设网页设计作业报告范文

bicheng/2026/1/18 14:27:07/文章来源:
成都网页设计与网站建设,网页设计作业报告范文,小型网站的建设与开发,网络系统管理属于哪类专业公众号#xff1a;全干开发 。 专注分享简洁但高质量的动图技术文章#xff01; 回顾 在上节内容中#xff0c;我们实现了用户开户的功能createAccount public void start(){System.out.println(欢迎您进入到了ATM系统);System.out.println(1、用户登录全干开发 。 专注分享简洁但高质量的动图技术文章 回顾 在上节内容中我们实现了用户开户的功能createAccount public void start(){System.out.println(欢迎您进入到了ATM系统);System.out.println(1、用户登录);System.out.println(2、用户开户);System.out.println(请选择:);int command sc.nextInt();switch (command) {case 1://用户登录 TODO// login() 等待开发的功能break;case 2://用户开户createAccount();start();break;default:System.out.println(操作错误!);start();}}现在我们要实现另一个核心功能用户登录。登录后用户还可以进行转账等一些列操作这也是我们要完善的功能。 用户登录 我们先来看一下用户登录的login功能 登录的流程大致如下 如果系统没有任何账户对象则不允许登录让用户输入登录的卡号先判断卡号是否正确如果不正确要给出提示如果卡号正确再让用户输入账户密码如果密码不正确要给出提示如果密码也正确则给出登录成功的提示 private void login(){System.out.println(欢迎您登录系统);// 如果系统中没有账户直接退出if(accounts.size()0){System.out.println(抱歉当前系统没有账户请先创建);return;}// 系统中存在账户开始进行登录操作while (true) {System.out.println(请您输入卡号);String cardId sc.next();// 根据卡号获取用户对象Account acc getAccountByCardId(cardId);if(acc null){System.out.println(卡号输入错误请重新输入);}else{// 卡号存在输入密码while (true) {System.out.println(请输入密码);String password sc.next();// 判断用户输入的密码与账户对象中储存的密码是否一致if(password.equals(acc.getPassWord())){System.out.println(恭喜您acc.getUserName()您登录成功您的卡号是 cardId);// TODO: 登录后的其他操作如转账等等....}else {System.out.println(密码输入错误);}}}} }现在我们在start中执行这个方法即可 public void start(){// ...省略...switch (command) {case 1://用户登录login();// 用户操作完重新进入系统首页start();break;case 2://用户开户createAccount();// 开户完重新进入系统首页start();break;default:System.out.println(操作错误!);// 输入错误重新进入开始页start();} }账户操作 框架搭建 用户登录成功我们需要进入账户处理界面 我们定义一个showUserCommand方法来实现 // 登录成功后的操作 private void showUserCommand(){while (true) {System.out.println(loginAcc.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、注销账户);int command sc.nextInt();switch (command){case 1://查询操作break;case 2://存款break;case 3://取款break;case 4://转账break;case 5://密码修改break;case 6://退出break;case 7://注销账户break;default:System.out.println(您的操作有误请重新输入);}} }这里的loginAcc是我们储存的用户登录成功后的账户信息详细的代码如下 public class ATM {private ArrayListAccount accounts new ArrayList();private Account loginAcc; // 储存登录成功后的用户信息// .....// 用戶登录private void login(){// .....// 判断用户输入的密码与账户对象中储存的密码是否一致if(password.equals(acc.getPassWord())){loginAcc acc;System.out.println(恭喜您acc.getUserName()您登录成功您的卡号是 cardId);// 登录后的其他操作如转账等等....// 展示用户操作界面showUserCommand();}else {System.out.println(密码输入错误);}// .....}// 登录成功后的操作private void showUserCommand(){while (true) {System.out.println(loginAcc.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、注销账户);int command sc.nextInt();switch (command){case 1://查询操作break;case 2://存款break;case 3://取款break;case 4://转账break;case 5://密码修改break;case 6://退出break;case 7://注销账户break;default:System.out.println(您的操作有误请重新输入);}}} }现在我们逐个完善showUserCommand中的方法即可 查询操作 在上述代码中我们使用了loginAcc储存了登录用户的信息我们创建个query方法用于展示loginAcc对象中储存的信息 private void showLoginAccount(){System.out.println(卡号 loginAcc.getCardId());System.out.println(姓名 loginAcc.getUserName());System.out.println(性别 loginAcc.getSex());System.out.println(余额 loginAcc.getMoney());System.out.println(每次取现额度 loginAcc.getLimit()); }我们在showUserCommand()方法中执行下 private void showUserCommand(){while (true) {// ....int command sc.nextInt();switch (command){case 1://查询操作showLoginAccount();break;// ....case 7://注销账户break;default:System.out.println(您的操作有误请重新输入);}}}退出操作 退出操作不需要执行额外的方法我们只要能回到登录页即可。退出前我们进行简单的提示即可 private void showUserCommand(){while (true) {// ...switch (command){// ...case 6://退出System.out.println(loginAcc.getUserName() 您已经成功退出);break;// ...}}}注意当用户输出6后break会结束switch语句但无法跳出while循环switch会重新执行。 所以我们需要把break改成return结束当前程序。 private void showUserCommand(){while (true) {// ...switch (command){// ...case 6://退出System.out.println(loginAcc.getUserName() 您已经成功退出);breturn;// ...}}}现在我们就跳出了showUserCommand()程序回到了login方法里。 private void login(){// ...// 系统中存在账户开始进行登录操作while (true) {// ...if(acc null){System.out.println(卡号输入错误请重新输入);}else{// 卡号存在输入密码while (true) {// ...showUserCommand();// ...}}} }同样的我们需要结束login方法中的while循环回到start方法中 private void login(){// ...// 系统中存在账户开始进行登录操作while (true) {// ...if(acc null){System.out.println(卡号输入错误请重新输入);}else{// 卡号存在输入密码while (true) {// ...showUserCommand();// ...return;}}} }我们测试下 存款及取款 存款 我们定义depositMoney的存款方法在showUserCommand()的switch 中执行。 这次骚一点我们用编译器的快捷键帮我们生成方法。在switch中直接执行depositMoney然后点击【altenter】键就可以自动帮我们创建好这个方法了 private void depositMoney() {System.out.println(存钱操作);System.out.println(请您输入存款金额);double money sc.nextDouble();loginAcc.setMoney( loginAcc.getMoney() money);System.out.println(您已经存入money 元当前账户余额 loginAcc.getMoney());}取款 private void showUserCommand(){while (true) {// ...int command sc.nextInt();switch (command){case 1://查询操作showLoginAccount();break;case 2://存款depositMoney();break;case 3://取款drawMoney();break;// ...}}}private void drawMoney() {System.out.println(取钱操作);// 1、判断账户余额是否达到了100元如果不够100不让用户取钱if(loginAcc.getMoney() 100){System.out.println(您的账户不足100不能取钱);return;}// 2、让用户输入金额while (true) {System.out.println(请输入取款金额);double money sc.nextDouble();// 3.判断账户余额是否足够if(loginAcc.getMoney() money){// 钱是足够的// 判断当前取款金额是否超出了限额if(moneyloginAcc.getLimit()){System.out.println(超出限额);}else {loginAcc.setMoney(loginAcc.getMoney()-money);System.out.println(取款成功剩余 loginAcc.getMoney());break;}}else {System.out.println(账户余额不足您的余额是 loginAcc.getMoney());}}}转账 private void showUserCommand(){while (true) {// ...int command sc.nextInt();switch (command){// ...case 4://转账transferMoney();break;// ...}}}private void transferMoney() {System.out.println(用户转账);// 1 系统中是否存在其他账户if(accounts.size() 2){System.out.println(当前系统只有一个账户,无法转账);return;}// 2 判断自己的账户是否有钱if(loginAcc.getMoney() 0){System.out.println(您没钱!别转了!);return;}while (true) {// 3 开始转账System.out.println(请输出对方卡号);String cardId sc.next();// 4 判断账号是否正确Account acc getAccountByCardId(cardId);if(accnull){System.out.println(输入的卡号不对);}else {//5 账户存在,确认姓名String name * acc.getUserName().substring(1);System.out.println(请输入:name的姓氏);String preName sc.next();// 判断姓氏是否正确if(acc.getUserName().startsWith(preName)){// 认证通过,开始转账System.out.println(请输入转账金额);double money sc.nextDouble();// 6 判断是否超出自己的金额if(loginAcc.getMoney() money){//转给对方了//变更自己的账户余额loginAcc.setMoney(loginAcc.getMoney()-money);//更新对方的余额acc.setMoney(acc.getMoney() money);return;}else {System.out.println(账户余额不足);}}else {System.out.println(输入的姓名有有误);}}}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/89180.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

福州网站建设seo什么网站做h5没有广告

P5748 集合划分计数 求解从1到1e5的所有贝尔数,我们可以利用生成函数求解,就是利用指数型生成函数求解 代码细节: 首先虽然exe^xex代表全是1,但是多项式下面还有阶乘逆元的系数,然后乘完之后,我们还有乘…

网站主色调简介怎么说宁波seo行者seo09

题目描述 小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是: 各组的核桃数量必须相同各组内必须能平分核桃(当…

wordpress做商城网站php网站开发环境的设置

errAxiosError: Request failed with status code 405 前端调用接口的方法跟后台定义接口的方法不一致

网站技术开发文档模板免费个人网页模板

并查集 Tarjan 算法 并查集是一种用于找出一个森林(图)中树(连通分支)的个数的算法,也可用于判断两个节点是否在同一棵树上。它在每一棵树(连通分支)上选择一个节点作为本棵树(连通…

电商网站开发企业黄岛网站建设公司哪家好

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 思路&#xff1a; 首先有一个贪心策略就是每次都找一个叶子节点最多的点&#xff0c;让后删掉他的kkk个叶子节点&#xff0c;现在我们就来考虑如何模拟这个过程。 我们整一个vector<set<int>>ve…

想要网站推广页网站需要维护

cdh 5.12.1 安装 目前还未成功&#xff0c;仅供个人记录。【下载必备工具】当前系统为win7_x641、vmware虚拟机12.52、ubuntu16.04服务器版本3、windows下的ssh工具&#xff0c;采用git bash4、jdk安装包jdk-8u144-linux-x64.tar.gz5、mysql java驱动包 mysql-connector-java-5…

三亚市建设局网站网页制作与设计网课

C11引入了lambda表达式&#xff0c;使得程序员可以定义匿名函数&#xff0c;该函数是一次性执行的&#xff0c;既方便了编程&#xff0c;又能防止别人的访问。 Lambda表达式的语法通过下图来介绍&#xff1a; Lambda表达式的引入标志&#xff0c;在‘[]’里面可以填入‘’或‘&…

做兼职最好的网站烟台网站关键词推广

1、递归算法定义递归算法是将重复问题分解为同类的子问题而解决问题的方法&#xff0c;其核心思想是分治策略。简单来说就是自己调用自己。直到达到退出递归的条件&#xff0c;则完成递归。2、递归的步骤1、找整个递归的终止条件&#xff1a;递归应该在什么时候结束&#xff1f…

抄底券网站怎么做的手机网站发号系统源码

前言 本文介绍了一些关于神经网络可视化的项目&#xff0c;主要有CNN解释器&#xff0c;特征图、卷积核、类可视化的一些代码和项目&#xff0c;结构可视化工具&#xff0c;网络结构手动画图工具。 CNN解释器 这是一个中国博士发布的名叫CNN解释器的在线交互可视化工具。 主要…

网站的优化从几个方面宁夏住房和城乡建设厅网站办事窗口

在Vue中&#xff0c;深度监听&#xff08;deep watching&#xff09;是指对对象或数组进行递归观察其变化的过程。这可以通过watch选项来实现。 当你想要监听一个对象或数组的每个属性或元素的变化时&#xff0c;Vue提供了deep选项。通过将deep设置为true&#xff0c;Vue会递归…

做网站和APP需要多少钱贵州网站建设设计公司

1 刷油漆问题 给定一个有n根柱子和k种颜色的围栏&#xff0c;找出油漆围栏的方法&#xff0c;使最多两个相邻的柱子具有相同的颜色。因为答案可以是大的&#xff0c;所以返回10^97的模。 计算结果&#xff1a; 2 栅栏油漆算法的源程序 using System; namespace Legalsoft.Tr…

问卷调查网站赚钱wordpress-5.0.3

在对Java和Groovy代码进行的各种代码审查中&#xff0c;我经常看到魔术数字和其他随机字符串在整个代码库中乱七八糟。 例如&#xff0c;魔术数字是下面的代码&#xff08;Groovy&#xff09;中的4.2&#xff1a; if (swashbuckle > 4.2) {... }4.2是什么意思&#xff1f;…

免费建设网站那个好有什么网站可以做电子

文章目录 三相异步电机动态数学模型及矢量控制仿真1、异步电机三相方程2、坐标变换3、磁链3/2变换推导4、两相静止坐标系下的方程5、两相旋转坐标系下的方程6、以 ω-is-Ψr 为状态变量的状态方程7、矢量控制及 matlab 仿真 原文链接需要仿真的同学请关注【Qin的学习营地】 三相…

成都网站建设138百度怎么注册店面地址

前言 最近在微信小程序开发时遇到了一个非常复杂的动画&#xff0c;如果要手搓的话需要用canvas一点点弄&#xff0c;比较麻烦&#xff0c;于是打算做一个gif来实现动画效果 根据需求&#xff0c;动画只需播放一次即可&#xff0c;并且设置了一个重播按钮&#xff0c;点击即可重…

开发网站合同什么是网络营销产生的技术基础

一、介绍&#xff1a; 1、背景&#xff1a; 在 Redis 的 2.6 以上版本中&#xff0c;除了可以使用命令外&#xff0c;还可以使用 Lua 语言操作 Redis。 Redis 命令的计算能力并不算很强大&#xff0c;而使用 Lua 语言则在很大程度上弥补了 Redis 的这个不足。 2、特点&#…

h5做网站教程做彩票网站

一、MongoDB简介 1.1 MongoDB介绍 MongoDB是一个强大、灵活&#xff0c;且易于扩展的通用型数据库。MongoDB是C编写的文档型数据库&#xff0c;有着丰富的关系型数据库的功能&#xff0c;并在4.0之后添加了事务支持。 随着存储数据量不断的增加&#xff0c;开发者面临一个困…

做第三方库个人网站H5建网站

计算机数据及软件的安全计算机数据及软件的安全一、计算机软件的安全问题 1、软件在计算机安全中的二重性 软件是计算机系统的重要组成部分。和硬件相比&#xff0c;软件是计算机系统的灵魂&#xff0c;用户通过软件才能使用计算机。 (1)计算机软件是系统安全保护的对象和安全控…

在ai中做网站图片怎么设置深圳营销型网站建设服务

运维工程师的出路到底在哪里&#xff1f; 你是不是也常常听到身边的运维人员抱怨&#xff0c;他们的出路到底在哪里呢&#xff1f;别着急&#xff0c;让我告诉你&#xff0c;运维人员就像是IT界的“万金油”&#xff0c;他们像“修理工”一样维修服务器&#xff0c;像“消防员…

最专业企业营销型网站建设学校网页设计方案

使用bootstrap的grid system可以在一个较为粗糙的范围得到较好的响应性&#xff0c;但是通过viewport可以看到网站在具体哪个像素点处变得丑陋&#xff0c;再通过css media query来精细调整网页布局。 可以通过media query来提高网页移动响应能力。

商贸公司寮步网站建设极致发烧重庆建站程序

前言我们都知道依赖注入的方式常见的主要有三种构造函数注入属性注入接口注入在大名鼎鼎的Spring框架中大量使用属性注入的方式&#xff0c;属性注入的方式写起来那是真的爽&#xff1b;而在Asp.NetCore中则不支持属性注入&#xff0c;如果不使用第三方库&#xff0c;我们就只能…