一、本章任务

完成青鸟迷你游戏平台的开发

二、目标

  • 会定义变量

  • 会使用数据类型和运算符

  • 会使用选择结构

  • 会使用循环结构

三、内容

1 上机练习一

需求:

用户进入游戏平台后,可以选择遠的游戏,程序运行结果如下

思路

  • 获得用户的输入:Scan

  • 输出:System.out.println()

  • 选择结构:if 、switch

实现

  • 第一种方法

  1. public class SelectGame{

  2. public static void main(String[] args) {

  3. System.out.println("欢迎进入青鸟游迷你戏平台\n");

  4. System.out.println("请选择您喜爱的游戏:\n");

  5. System.out.println("*******************************");

  6. System.out.println("\t1.斗地主");

  7. System.out.println("\t2.斗牛");

  8. System.out.println("\t3.泡泡龙");

  9. System.out.println("\t4.连连看");

  10. System.out.println("*******************************\n");

  11. int choice; //用户选择

  12. boolean isRight; //输入是否正确

  13. System.out.print("请选择,输入数字:");

  14. Scanner input = new Scanner(System.in);

  15. do{

  16. isRight = true;

  17. choice = input.nextInt();

  18. switch (choice) {

  19. case 1:

  20. System.out.println("您已进入斗地主房间!");

  21. break;

  22. case 2:

  23. System.out.println("您已进入斗牛房间!");

  24. break;

  25. case 3:

  26. System.out.println("您已进入泡泡龙房间!");

  27. break;

  28. case 4:

  29. System.out.println("您已进入连连看房间!");

  30. break;

  31. default:

  32. System.out.print("输入错误,请重新输入数字:");

  33. isRight = false;

  34. break;

  35. }

  36. }while(!isRight);

  37. }

  38. }

  • 第二种方法

  1. public class SelectGame2 {

  2. public static void main(String[] args) {

  3. System.out.println("欢迎进入青鸟游迷你戏平台\n");

  4. System.out.println("请选择您喜爱的游戏\n");

  5. System.out.println("*******************************");

  6. System.out.println("1.斗地主");

  7. System.out.println("2.斗牛");

  8. System.out.println("3.泡泡龙");

  9. System.out.println("4.连连看");

  10. System.out.println("*******************************\n");

  11. System.out.print("请选择,输入数字:");

  12. Scanner input = new Scanner(System.in);

  13. int selectInt = input.nextInt();

  14. while (selectInt>=5||selectInt<=0) {

  15. System.out.print("选择错误,请重新选择");

  16. selectInt = input.nextInt();

  17. }

  18. switch (selectInt) {

  19. case 1:

  20. System.out.println("你已进入斗地主房间!");

  21. break;

  22. case 2:

  23. System.out.println("你已进入斗牛房间!");

  24. break;

  25. case 3:

  26. System.out.println("你已进入泡泡龙房间!");

  27. break;

  28. case 4:

  29. System.out.println("你已进入连连看房间!");

  30. break;

  31. }

  32. }

  33. }

2 上机练习二:玩游戏并晋级

需求

  • 用户玩游戏,每次玩5局

  • 不足5局则不能晋级。

  • 在5局游戏中,如果80%达到80分以上,为一级,如果60%达到80分以上为二级,否则不能晋级

 

思路

  • 使用循环实现玩5局游戏,使用break语句实现中途退出游戏

  • 使用多重if,根据游戏得分判断是否晋级

实现

  1. public class RiseGame {

  2. public static void main(String[] args) {

  3. System.out.println("青鸟迷你游戏平台>游戏晋级\n");

  4. Scanner input = new Scanner(System.in);

  5. int n = 1;

  6. int count=0;

  7. while (n<=5) {

  8. System.out.print("您正在玩第"+n+"局,成绩为:");

  9. int scroe = input.nextInt();

  10. if(scroe>80){

  11. count++;

  12. }

  13. if(n!=5){

  14. System.out.println("继续玩下一局吗?(yes/no)");

  15. String answer = input.next();

  16. if(answer.equals("no")){

  17. System.out.println("你已经退出游戏");

  18. break;

  19. }

  20. System.out.println("你进入一下局");

  21. }

  22. n++;

  23. }

  24. System.out.println("n的值:"+n);

  25. if(n>5){

  26. if(n>=4){

  27. System.out.println("\n恭喜,通过一级!");

  28. }else if(n>=3&&n<4){

  29. System.out.println("\n恭喜,通过二级!");

  30. }else {

  31. System.out.println("\n对不起,你未能晋级!");

  32. }

  33. }

  34. }

  35. }

3 上机练习三:玩游戏并支付游戏币

需求:

  • 根据游戏类型和游戏时长计算应支付的游戏币

  • 游戏类型分为两大类:牌类和休闲竞技类

  • 游戏的收费标准

    • 牌类:10元/小时

    • 休闲竞技类:20元/小时

  • 游戏的收费规则:游戏时间超过10小时,可以打5折10小时及以下,打8折

实现

  1. public class PayGame {

  2. public static void main(String[] args) {

  3. System.out.println("青鸟迷你游戏平台 > 游戏币支付\n");

  4. System.out.println("请选择您玩的游戏类型:");

  5. System.out.println("\t1.牌类");

  6. System.out.println("\t2.休闲竞技类");

  7. Scanner input = new Scanner(System.in);

  8. int choice = input.nextInt();

  9. System.out.println("请您输入游戏时长:");

  10. int time = input.nextInt();  //游戏时间

  11. int qm = 0;  //游戏币

  12. switch (choice) {

  13. case 1:

  14. if (time > 10) {

  15. System.out.println("您玩的是牌类游戏,时长是:" + time + "小时,可以享受5折优惠");

  16. qm = (int) (10 * time * 0.5);

  17. System.out.println("您需要支付" + qm + "个游戏币");

  18. } else {

  19. System.out.println("您玩的是牌类游戏,时长是:" + time + "小时,可以享受8折优惠");

  20. qm = (int) (10 * time * 0.8);

  21. System.out.println("您需要支付" + qm + "个游戏币");

  22. }

  23. break;

  24. case 2:

  25. if (time > 10) {

  26. System.out.println("您玩的是休闲竞技类游戏,时长是:" + time + "小时,可以享受5折优惠");

  27. qm = (int) (20 * time * 0.5);

  28. System.out.println("您需要支付" + qm + "个游戏币");

  29. } else {

  30. System.out.println("您玩的是休闲竞技类游戏,时长是:" + time + "小时,可以享受8折优惠");

  31. qm = (int) (20 * time * 0.8);

  32. System.out.println("您需要支付" + qm + "个游戏币");

  33. }

  34. break;

  35. default:

  36. System.out.print("无效选择");

  37. }

  38. }

  39. }

4 上机练习四:统计游戏点击率

需求

  • 录入游戏的点击率,统计点击率超过100的游戏所占的比例

思路:

  • 使用if结构、continue语句统计点击率100以上的游戏数量

实现

  1. public class GameDot {

  2. public static void main(String[] args) {

  3. int score; // 点击率

  4.        int total; // 游戏总数量

  5.        int num = 0; //点击率大于100的游戏数量

  6.        Scanner input = new Scanner(System.in);

  7.        System.out.println("青鸟迷你游戏平台 > 游戏点击率\n");

  8.        for (int i = 0; i < 4; i++) {

  9.            System.out.print("请输入第" + (i + 1) + "个游戏的点击率: ");

  10.            score = input.nextInt();

  11.            if (score <= 100) {

  12.                continue;

  13.            }

  14.            num++;

  15.        }        

  16.        System.out.println("点击率大于100的游戏数是: " + num);

  17.        double rate =  (double)num / 4 * 100;

  18.        System.out.println("点击率大于100的游戏所占的比例为:" + rate + "%");        

  19. }

  20. }

4 上机练习五:添加用户信息

需求

  • 为了维护用户信息,需要将其信息录入系统

    • 用户的信息包括:用户编号、年龄、积分

    • 要求年龄10岁以上

    • 若年龄合法,则显示录入的信息,否则显示录入失败

实现

  1. public class AddUser {
  2. public static void main(String[] args) {
  3. System.out.println("青鸟迷你游戏平台 > 添加用户信息\n");
  4. int custNo = 0;    //用户编号
  5. int age; //年龄
  6. int points = 0; //积分
  7. System.out.println("请输入要录入用户的数量:");
  8. Scanner input = new Scanner(System.in);
  9. int count=input.nextInt();
  10. //循环录入用户信息
  11. for(int i=0;i<count;i++){
  12. System.out.print("请输入用户编号(<4位整数>):");
  13. custNo = input.nextInt();
  14. System.out.print("请输入用户年龄:");
  15. age = input.nextInt();
  16. if(age<10 || age>100){ //年龄不合适则跳出
  17. System.out.println("很抱歉,您的年龄不适宜玩游戏");
  18. System.out.println("录入信息失败\n");
  19. continue;
  20. }
  21. System.out.print("请输入会员积分:");
  22. points = input.nextInt();
  23. System.out.println("您录入的会员信息是:");
  24. System.out.println("用户编号:"+custNo+ "\t年龄:" +age+ "\t积分:" +points+ "\n");
  25. }
  26. }
  27. }

四、本章总结

  • 分支结构、循环结构、跳转语句的综合运用

五、作业

1 编写JAVA程序,实现接收用户输入的正整数,输出该数的阶乘

  • 要求:限制输入的数据在1-10之间,无效数据进行提示,结束程序

  • 输出结果如:4!=1*2*3*4=24

  • 实现

  1. public class FactDemo {


  2. /**

  3. * @param args
  4. */
  5. public static void main(String[] args) {
  6. //定义变量接收用户输入,计算阶乘,累计表达式
  7. int number,fact=1;
  8. String msg="";
  9. Scanner input=new Scanner(System.in);
  10. //提醒输入
  11. System.out.println("请输入一个10以内的正整数:");
  12. number=input.nextInt();
  13. //验证有效性
  14. if(number>10 || number<1){
  15. System.out.println("数据无效");
  16. return;
  17. }
  18. System.out.print(number+"!=");
  19. //计算阶乘
  20. for(int i=1;i<number;i++){
  21. msg+=i+"*";
  22. fact*=i;
  23. }
  24. //组合结果,并显示
  25. fact*=number;
  26. msg+=number+"="+fact;
  27. System.out.println(msg);
  28. }
  29. }

2 写JAVA程序,实现输出1--100之间所有不能被7整除的数,并求和

  • 要求:每输出4个数据换行显示

  • 实现

  1. public class NumDemo {
  2. /**
  3. * @param args
  4. */
  5. public static void main(String[] args) {
  6. //定义变量,累计求和,统计个数
  7. int sum=0,count=1;
  8. System.out.println("1-100之间不能被7整除的数据为:");
  9. for(int i=1;i<=100;i++){
  10. //判断是否能被7整除,如果能被7整除,结束本次循环
  11. if(i%7==0)
  12. continue;
  13. //输出不能被7整除的数据
  14. System.out.print(i+"\t");
  15. //每4个数换行显示
  16. if(count%4==0)
  17. System.out.println();
  18. //累计求和,个数增加
  19. sum+=i;
  20. count++;
  21. }
  22. System.out.println();
  23. //输出累计和
  24. System.out.println("数据之和为:"+sum);
  25. }
  26. }

转载于:https://www.cnblogs.com/imentors/p/4672586.html

第七章 循环结构综合练习相关推荐

  1. 测试 第七章 循环结构进阶 1205 草稿

    第一题 第二题

  2. c语言第四章循环程序设计,C语言程序设计教程第4章-循环结构程序设计

    <C语言程序设计教程第4章-循环结构程序设计>由会员分享,可在线阅读,更多相关<C语言程序设计教程第4章-循环结构程序设计(42页珍藏版)>请在人人文库网上搜索. 1.C语言程 ...

  3. c语言菜单程序循环结构举例,C语言程序设计课件 第4章 循环结构.ppt

    C语言程序设计课件 第4章 循环结构.ppt 循环嵌套应用举例 [例4.8]从键盘上输入n的值为5,编程打印具有如下规律的对称图形. @ @ @ @ @ @ @ @ @ @ @ @ @ 行号(i)空格 ...

  4. c语言设计第六章答案,c语言第六章 循环结构程序设计(习题册答案)

    第六章 循环结构程序设计 基础练习(A) 一.选择题 1.C语言中while和do-while循环的主要区别是(A). A) do-while的循环体至少无条件执行一次 B) while的循环控制条件 ...

  5. c语言第六章条件型循环结构,C语言课件(第六章 循环结构)

    C语言课件 第六章 循环结构 在许多复杂的问题中,常常需要做大量的类似的计算处理,这些类似的相同的处理过程存在重复性过程,即在某种条件成立的情况下需要处理相同的操作时,就要使用循环结构来完成. 类似于 ...

  6. 第6章 循环结构程序设计

    第6章 循环结构程序设计     声明:文中观点仅代表个人,其中文字.图片未经本人许可,不得部分或全部转载,违者所造成影响后后果自负!联系本人方式:80368704@qq.com QQ:8036870 ...

  7. c语言利用循环结构解决密码转换,C语言课件第六章循环结构.ppt

    C语言课件第六章循环结构 第6章 循环结构程序设计 6.1循环结构的组成 循环结构:描述有规律的重复操作问题. 组成:要重复执行的操作,重复执行所需的条件. 例6.1:求10! . 分析:计算1*2* ...

  8. c语言如何实现一只蜗牛爬的循环,[工程科技]第五章 循环结构程序设计c语言程序设计.ppt...

    [工程科技]第五章 循环结构程序设计c语言程序设计 第5章 循环结构程序设计 while语句 while语句 do while语句 do while语句 do while语句 do while语句 d ...

  9. c语言程序设计李丽娟pdf,C语言程序设计教程 教学课件 李丽娟 第5章循环结构.pdf...

    第五章 循环结构 第五章 循环结构 第五章 循环结构 §5.1 for语句 §5.2 while语句 §5.3 do~while语句 §5.4 用于循环中的break和continue语句 §5.5 ...

最新文章

  1. 年薪100万和10万程序员的差距
  2. Python 计算机视觉(十七)—— 基于KNN的图像分类
  3. 硬件工程师面试经历2015---面试篇
  4. Python网络编程(1.利用socket(udp)+网络调试助手,发送数据)
  5. 北京沙龙报名 | 关于Dubbo开源的那些事儿
  6. Android NDK-helloJNI
  7. 【今晚9点】:对话袁荣喜——一名C程序员的打怪之路
  8. suse leap_Ruby程序检查leap年
  9. 【OSGI】Error osgi xx Invalid value for DynamicImport-Package dynamic.import.pack
  10. 【Java】synchronized与lock的区别
  11. Nerd的套现ATM机
  12. iOS开发之字符串(NSString)的拼接
  13. 细嚼浏览器兼容----条件注释判断浏览器版本
  14. 纯前端播放文件流视频并预览并截取视频第一帧
  15. 把hive sql的关键字小写转大写的小程序
  16. 曲线运动与万有引力公式_考试中有关曲线运动及万有引力部分ALevel物理考点及公式总结...
  17. 《UnityAPI.Color颜色》(Yanlz+Unity+SteamVR+云技术+5G+AI+VR云游戏+Color+Lerp+RGBToHSV+gamma+linear+立钻哥哥++OK++)
  18. 【C++---16】常指针和常引用
  19. 微信小程序base64图片转换临时链接
  20. 关于tink的碰撞检测类【2】

热门文章

  1. 注意:qq邮箱不要开通CardDAV/CalDAV服务
  2. mysql超售_MySQL OOM 系列三 摆脱MySQL被Kill的厄运
  3. linux 命令spawn,linux expect, spawn用法小记
  4. android 流量统计换算,什么是流量?如何计算流量?流量的单位如何换算
  5. 2020年中国互联网之大事件(一)
  6. 果断MARK Flex的那些资源
  7. 带你轻松搞懂JDK动态代理机制(ssm框架先行必备)
  8. ajax提示500,AJAX 成功返回json数据,但是提示500错误。
  9. 目前人工智能企业的主要应用领域是什么,各企业都有什么经典产品?
  10. 【转载】 程序员找工作那点事儿