文章目录

  • 设计一个程序,完成(英雄)商品的购买
    • 1.Account类
    • 2.Ctrl类
    • 3.Menu类
    • 4.Tools类
    • 5.Test类

设计一个程序,完成(英雄)商品的购买

展示商品信息(折扣)->输入商品价格->输入购买数量->提示付款->输入付款金额->打印购买小票(扩展)

共设计5个类
1.Account类
2.Ctrl类
3.Menu类
4.Tools类
5.Test类

1.Account类

public class Account {String username;String password;int money = 0;int state = 0;// -1 锁定状态 0 未登录 1 登陆int num = 0;// 记录密码输出错误的次数 如果次数超过3次 账户锁定 需要解锁public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public int getMoney() {return money;}public void setMoney(int money) {this.money = money;}public int getState() {return state;}public void setState(int state) {this.state = state;}public int getNum() {return num;}public void setNum(int num) {this.num = num;}
}

2.Ctrl类

import java.util.Scanner;public class Ctrl {Account user = new Account();Menu menu = new Menu();Tools t = new Tools();Scanner choice = new Scanner(System.in);void no1(){menu.menu1();int number = choice.nextInt();while (number>4 || number<1){System.out.println("输入有误,请重新输入:");no1();}switch (number){case 1:t.denglu();if (user.num==3){no1();}else{no2();}break;case 2:t.register();no1();break;case 3:System.exit(0);}}void no2(){menu.menu2();System.out.println("输入你的选择:");int number = choice.nextInt();while (number>5 || number<1){System.out.println("输入有误,请重新输入:");no2();}switch (number){case 1:no3();break;case 2:System.out.println("暂未开放~");no2();break;case 3:no1();break;}}void no3(){menu.menu3();System.out.println("输入你的选择:");int number = choice.nextInt();while (number>6 || number<1){System.out.println("输入有误,请重新输入:");no3();}switch (number){case 1:t.deposit();t.goout();menu.naer();no3();break;case 2:t.deposit();t.goout();menu.ruiwen();no3();break;case 3:t.deposit();t.goout();menu.weien();no1();break;case 4:t.deposit();t.goout();menu.zhake();no1();break;case 5:t.deposit();t.goout();menu.jiesi();no1();break;case 6:no2();break;}}
}

3.Menu类

public class Menu {void menu1() {System.out.println("======================");System.out.println("\t" + "英雄联盟商城登录界面\n" +"\t" + "1.用户登录" + "\n" +"\t" + "2.新用户注册" + "\n" +"\t" + "3.退出系统");System.out.println("======================");System.out.println("(温馨提示)请输入你的选项:");}void menu2() {System.out.println("======================");System.out.println("\t" + "英雄联盟商城首页\n" +"\t" + "1.进入英雄小超市" + "\n" +"\t" + "2.休闲小游戏" + "\n" +"\t" + "3.退出登录");System.out.println("======================");System.out.println("(温馨提示)请输入你的选项:");}void menu3() {System.out.println();System.out.println("========================================================");System.out.println("编号  姓名  昵称    价格   库存   描述\n" +"1    纳尔 迷失之牙  3500  100   丛林不会原谅盲目与无知" + "\n" +"2    锐雯 放逐之刃  4000  100   她是残忍高效的战士" + "\n" +"3    薇恩 暗夜猎手  3500  100   这个世界不想人们想象的那么美好" + "\n" +"4    扎克 生化魔人  3000  100   即使你没有脊柱,你也必须站起来" + "\n" +"5    杰斯 未来守护者 2500  100   武装着睿智与魅力,你的选择没有错" + "\n"+"6    退出英雄小超市");System.out.println("========================================================");System.out.println("(温馨提示)请输入你的选项:");}void naer() {System.out.println("\t\t\t\t\t" + "英雄商城购买英雄\n");System.out.println("英雄购买票据");System.out.println("========================================================");System.out.println("\n" +"\t英雄名称:  纳尔(史诗)\n" +"\t英雄价格:  3500\n" +"\t英雄属性:生命值428(+85)/能量值200(+0)/移动速度425/攻击力55.8(+3.2)\n" +"\t        攻击速度0.651(+3.1%)/护甲值24(+1.25)/攻击距离125" + "\n\n" +"\t英雄座右铭: 一人之行可灭世,众人之勤可救世!" + "\n" +"插播广告:当风云变色,当流离失所,世界不再是旧日模样" + "\n" +"你是否会为了自己的梦想战斗,直至力战身亡,直至彼岸他乡");System.out.println("========================================================");}void ruiwen() {System.out.println("\t\t\t\t\t" + "英雄商城购买英雄\n");System.out.println("英雄购买票据");System.out.println("========================================================");System.out.println("\n" +"\t英雄名称:  锐雯(史诗)\n" + "" +"\t英雄价格:  4000\n" +"\t英雄属性:生命值428(+85)/能量值200(+0)/移动速度425/攻击力55.8(+3.2)\n" +"\t        攻击速度0.651(+3.1%)/护甲值24(+1.25)/攻击距离125" + "\n\n" +"\t英雄座右铭: 一人之行可灭世,众人之勤可救世!" + "\n" +"插播广告:当风云变色,当流离失所,世界不再是旧日模样" + "\n" +"你是否会为了自己的梦想战斗,直至力战身亡,直至彼岸他乡");System.out.println("========================================================");}void weien(){System.out.println("\t\t\t\t\t" + "英雄商城购买英雄\n");System.out.println("英雄购买票据");System.out.println("========================================================");System.out.println("\n" +"\t英雄名称:  薇恩(史诗)\n" +"\t英雄价格:  3500\n" +"\t英雄属性:生命值428(+85)/能量值200(+0)/移动速度425/攻击力55.8(+3.2)\n" +"\t        攻击速度0.651(+3.1%)/护甲值24(+1.25)/攻击距离125" + "\n\n" +"\t英雄座右铭: 一人之行可灭世,众人之勤可救世!" + "\n" +"插播广告:当风云变色,当流离失所,世界不再是旧日模样" + "\n" +"你是否会为了自己的梦想战斗,直至力战身亡,直至彼岸他乡");System.out.println("========================================================");}void zhake(){System.out.println("\t\t\t\t\t" + "英雄商城购买英雄\n");System.out.println("英雄购买票据");System.out.println("========================================================");System.out.println("\n" +"\t英雄名称:  扎克(史诗)\n" +"\t英雄价格:  3500\n" +"\t英雄属性:生命值428(+85)/能量值200(+0)/移动速度425/攻击力55.8(+3.2)\n" +"\t        攻击速度0.651(+3.1%)/护甲值24(+1.25)/攻击距离125" + "\n\n" +"\t英雄座右铭: 一人之行可灭世,众人之勤可救世!" + "\n" +"插播广告:当风云变色,当流离失所,世界不再是旧日模样" + "\n" +"你是否会为了自己的梦想战斗,直至力战身亡,直至彼岸他乡");System.out.println("========================================================");}void jiesi(){System.out.println("\t\t\t\t\t" + "英雄商城购买英雄\n");System.out.println("英雄购买票据");System.out.println("========================================================");System.out.println("\n" +"\t英雄名称:  杰斯(史诗)\n" +"\t英雄价格:  3500\n" +"\t英雄属性:生命值428(+85)/能量值200(+0)/移动速度425/攻击力55.8(+3.2)\n" +"\t        攻击速度0.651(+3.1%)/护甲值24(+1.25)/攻击距离125" + "\n\n" +"\t英雄座右铭: 一人之行可灭世,众人之勤可救世!" + "\n" +"插播广告:当风云变色,当流离失所,世界不再是旧日模样" + "\n" +"你是否会为了自己的梦想战斗,直至力战身亡,直至彼岸他乡");System.out.println("========================================================");}
}

4.Tools类

import java.util.Scanner;public class Tools {Account user = new Account();Menu menu = new Menu();void register(){System.out.println("请输入用户注册的用户名:");System.out.println("请输入用户注册的密码:");Scanner name = new Scanner(System.in);user.username = name.nextLine();Scanner passwd = new Scanner(System.in);user.password = passwd.nextLine();}void denglu(){System.out.println("请输入用户登陆的用户名:");Scanner name = new Scanner(System.in);System.out.println("请输入用户登陆的密码:");Scanner passwd = new Scanner(System.in);if( user.num!= 3 && user.state !=-1 && user.username.equals(name.nextLine()) && user.password.equals(passwd.nextLine())){user.state = 1;}else{user.num += 1;denglu();}if(user.num == 3) {user.state = -1;System.out.println("账户已锁定,需要解锁");}}void deposit(){System.out.println("请输入你所存储的金额:");Scanner money = new Scanner(System.in);user.money += Integer.parseInt(money.nextLine());System.out.println("您的余额为:"+ user.money + "元");}void goout(){System.out.println("请输入你所付款的金额:");Scanner money = new Scanner(System.in);int m=money.nextInt();if (user.money >= m){user.money -= m;System.out.println("您的余额为:"+ user.money + "元");} else{System.out.println("金额不足,请重新输入:");goout();}}
}

5.Test类

public class Test {public static void main(String[] args) {Ctrl ctrl = new Ctrl();ctrl.no1();}
}

设计一个程序,完成(英雄)商品的购买(day3)相关推荐

  1. 编译原理实验报告_任意给定一个正规式 r (包括连接、或、闭包运算),根据 Thompson算法设计一个程序,生成与该正规式等价的 NFA N 。

    任意给定一个正规式 r (包括连接.或.闭包运算),根据 Thompson算法设计一个程序,生成与该正规式等价的 NFA N . 百度网盘下载 传送门 提取码:bzjn

  2. Java版 设计一个程序, 输入三位数a, 分别输出个,十,百位

    1. 设计一个程序, 输入三位数a, 分别输出个,十,百位. (0<a<1000) 样例输入: 251 样例输出: 2 5 1 package package01; import java ...

  3. 设计一个程序,帮助小学生练习10以内的加法题目

    设计一个程序,帮助小学生练习10以内的加法 详情: 随机生成加法题目: 共进行5次计算: 学生查看题目并输入答案: 判别学生答题是否正确? 退出时, 统计学生答题总数,正确数量及正确率(保留两位小数点 ...

  4. mysql一百转化为五分制_设计一个程序,将从键盘上输入的百分制成绩转换成对应的五分制成绩并输出。90分以上为A,80~90分为B,...

    设计一个程序,将从键盘上输入的百分制成绩转换成对应的五分制成绩并输出.90分以上为A,80~90分为B,以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内 ...

  5. lunix 习题 设计一个程序 cuts,它由标准输入读取数据...

    设计一个程序 cuts,它由标准输入读取数据,获取由第一个参数 n 和第二个参数 m 所限定范围的数据,n 和 m 都是整数,即从输入的字符串中抽取第 n 个字符至第 m 个字符之间的所有字符(包括这 ...

  6. html成绩百分制转换为,设计一个程序,将从键盘上输入的百分制成绩转换成对应的五分制成绩并输出。90分以上为A,80~90分为B,...

    设计一个程序,将从键盘上输入的百分制成绩转换成对应的五分制成绩并输出.90分以上为A,80~90分为B,以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内 ...

  7. java版 设计一个程序, 输入整数l, 求边长为l的正方形面积, 比直径为l的圆形面积大多少.

    2. 设计一个程序, 输入整数l, 求边长为l的正方形面积, 比直径为l的圆形面积大多少. (0<l<1000, PI取3.14, 输出结果保留两位小数) 样例输入: 3 样例输出: 1. ...

  8. java每日一练——第四天:输入两个整数num1和num2,请你设计一个程序,计算并输出它们的和、差、积、整数商及余数。

    文章目录 题目描述 问题分析 代码实现 运行结果 网上参考 结语 题目描述 输入两个整数num1和num2,请你设计一个程序,计算并输出它们的和.差.积.整数商及余数. 输入 输入只有两个正整数num ...

  9. 计算区间素数和,杨老师正在上《离散数学》课程的“数论”内容,讲授素数的知识。素数又称为质数。一个大于1的整数p是素数,当且仅当p只能被1和自身整除。很显然,2是最小的素数。他想设计一个程序

    杨老师正在上<离散数学>课程的"数论"内容,讲授素数的知识.素数又称为质数.一个大于1的整数p是素数,当且仅当p只能被1和自身整除.很显然,2是最小的素数.他想设计一个 ...

最新文章

  1. 用-force –opengl 指令_苹果新系统ios14新功能汇总 轻点背面等小技巧怎么用
  2. 揭开webRTC媒体服务器的神秘面纱——WebRTC媒体服务器开源项目介绍
  3. 实现Windows Phone、Android和iOS平台的统一硬件访问
  4. Grub2倒计时失效
  5. mysql range用法_MySQL的常用函数
  6. LeetCode 966. 元音拼写检查器(哈希)
  7. 2016/06/11
  8. java hashmap getitem_java中HashMap使用
  9. 《SQL高级应用和数据仓库基础(MySQL版)》作业v2 ·001【MySQL50题】
  10. C#在Web项目中关闭Excel进程的方法
  11. php有的图片显示不出来,图片显示不出来,但是数据库里有显示
  12. 实例:用C#.NET手把手教你做微信公众号开发(1)--接入
  13. 1004 - treap - 宠物收养所
  14. SAP MR21修改标准价
  15. 基于rk3288的驱动编译
  16. 分文件编辑报错信息有.bss
  17. 2021了,最流行的密码依旧是123456
  18. 施坦威D4三角钢琴-e-instruments Session Keys Grand S Kontakt
  19. JMX 入门(一)基础操作
  20. u3d5第一人称射击游戏(C#脚本)完整版并在iOS9.3系统上真机运行

热门文章

  1. 运动耳机什么牌子好,盘点目前六款好的运动耳机推荐
  2. Linux学习(一)Ubuntu20.04 LTS (Focal Fossa)以及 Anaconda CUDA CuDNN PyTorch VisualStudioCode 的安装
  3. macbook air vue3安装
  4. C/C++基础题073.数组的右方区域
  5. Thinkpad导航键更换成上下翻页键
  6. 手机备忘录怎么打出对勾符号
  7. 前AMD全球副总裁单羿加入鉴智机器人 后者获千万美元融资
  8. winform控件之checkedListBox
  9. CHECKEDLISTBOX用法总结
  10. 详解java重定向和转发的区别