一、本章任务
完成青鸟迷你游戏平台的开发
二、目标
会定义变量
会使用数据类型和运算符
会使用选择结构
会使用循环结构
三、内容
1 上机练习一
需求:
用户进入游戏平台后,可以选择遠的游戏,程序运行结果如下

思路
获得用户的输入:Scan
输出:System.out.println()
选择结构:if 、switch
实现
第一种方法
public class SelectGame{public static void main(String[] args) {System.out.println("欢迎进入青鸟游迷你戏平台\n");System.out.println("请选择您喜爱的游戏:\n");System.out.println("*******************************");System.out.println("\t1.斗地主");System.out.println("\t2.斗牛");System.out.println("\t3.泡泡龙");System.out.println("\t4.连连看");System.out.println("*******************************\n");int choice; //用户选择boolean isRight; //输入是否正确System.out.print("请选择,输入数字:");Scanner input = new Scanner(System.in);do{isRight = true;choice = input.nextInt();switch (choice) {case 1:System.out.println("您已进入斗地主房间!");break;case 2:System.out.println("您已进入斗牛房间!");break;case 3:System.out.println("您已进入泡泡龙房间!");break;case 4:System.out.println("您已进入连连看房间!");break;default:System.out.print("输入错误,请重新输入数字:");isRight = false;break;}}while(!isRight);}}
第二种方法
public class SelectGame2 {public static void main(String[] args) {System.out.println("欢迎进入青鸟游迷你戏平台\n");System.out.println("请选择您喜爱的游戏\n");System.out.println("*******************************");System.out.println("1.斗地主");System.out.println("2.斗牛");System.out.println("3.泡泡龙");System.out.println("4.连连看");System.out.println("*******************************\n");System.out.print("请选择,输入数字:");Scanner input = new Scanner(System.in);int selectInt = input.nextInt();while (selectInt>=5||selectInt<=0) {System.out.print("选择错误,请重新选择");selectInt = input.nextInt();}switch (selectInt) {case 1:System.out.println("你已进入斗地主房间!");break;case 2:System.out.println("你已进入斗牛房间!");break;case 3:System.out.println("你已进入泡泡龙房间!");break;case 4:System.out.println("你已进入连连看房间!");break;}}}
2 上机练习二:玩游戏并晋级
需求
用户玩游戏,每次玩5局
不足5局则不能晋级。
在5局游戏中,如果80%达到80分以上,为一级,如果60%达到80分以上为二级,否则不能晋级

思路
使用循环实现玩5局游戏,使用break语句实现中途退出游戏
使用多重if,根据游戏得分判断是否晋级
实现
public class RiseGame {public static void main(String[] args) {System.out.println("青鸟迷你游戏平台>游戏晋级\n");Scanner input = new Scanner(System.in);int n = 1;int count=0;while (n<=5) {System.out.print("您正在玩第"+n+"局,成绩为:");int scroe = input.nextInt();if(scroe>80){count++;}if(n!=5){System.out.println("继续玩下一局吗?(yes/no)");String answer = input.next();if(answer.equals("no")){System.out.println("你已经退出游戏");break;}System.out.println("你进入一下局");}n++;}System.out.println("n的值:"+n);if(n>5){if(n>=4){System.out.println("\n恭喜,通过一级!");}else if(n>=3&&n<4){System.out.println("\n恭喜,通过二级!");}else {System.out.println("\n对不起,你未能晋级!");}}}}
3 上机练习三:玩游戏并支付游戏币
需求:
根据游戏类型和游戏时长计算应支付的游戏币
游戏类型分为两大类:牌类和休闲竞技类
游戏的收费标准
牌类:10元/小时
休闲竞技类:20元/小时
游戏的收费规则:游戏时间超过10小时,可以打5折10小时及以下,打8折

实现
public class PayGame {public static void main(String[] args) {System.out.println("青鸟迷你游戏平台 > 游戏币支付\n");System.out.println("请选择您玩的游戏类型:");System.out.println("\t1.牌类");System.out.println("\t2.休闲竞技类");Scanner input = new Scanner(System.in);int choice = input.nextInt();System.out.println("请您输入游戏时长:");int time = input.nextInt(); //游戏时间int qm = 0; //游戏币switch (choice) {case 1:if (time > 10) {System.out.println("您玩的是牌类游戏,时长是:" + time + "小时,可以享受5折优惠");qm = (int) (10 * time * 0.5);System.out.println("您需要支付" + qm + "个游戏币");} else {System.out.println("您玩的是牌类游戏,时长是:" + time + "小时,可以享受8折优惠");qm = (int) (10 * time * 0.8);System.out.println("您需要支付" + qm + "个游戏币");}break;case 2:if (time > 10) {System.out.println("您玩的是休闲竞技类游戏,时长是:" + time + "小时,可以享受5折优惠");qm = (int) (20 * time * 0.5);System.out.println("您需要支付" + qm + "个游戏币");} else {System.out.println("您玩的是休闲竞技类游戏,时长是:" + time + "小时,可以享受8折优惠");qm = (int) (20 * time * 0.8);System.out.println("您需要支付" + qm + "个游戏币");}break;default:System.out.print("无效选择");}}}
4 上机练习四:统计游戏点击率
需求
录入游戏的点击率,统计点击率超过100的游戏所占的比例

思路:
使用if结构、continue语句统计点击率100以上的游戏数量
实现
public class GameDot {public static void main(String[] args) {int score; // 点击率int total; // 游戏总数量int num = 0; //点击率大于100的游戏数量Scanner input = new Scanner(System.in);System.out.println("青鸟迷你游戏平台 > 游戏点击率\n");for (int i = 0; i < 4; i++) {System.out.print("请输入第" + (i + 1) + "个游戏的点击率: ");score = input.nextInt();if (score <= 100) {continue;}num++;}System.out.println("点击率大于100的游戏数是: " + num);double rate = (double)num / 4 * 100;System.out.println("点击率大于100的游戏所占的比例为:" + rate + "%");}}
4 上机练习五:添加用户信息
需求
为了维护用户信息,需要将其信息录入系统
用户的信息包括:用户编号、年龄、积分
要求年龄10岁以上
若年龄合法,则显示录入的信息,否则显示录入失败

实现
public class AddUser {public static void main(String[] args) {System.out.println("青鸟迷你游戏平台 > 添加用户信息\n");int custNo = 0; //用户编号int age; //年龄int points = 0; //积分System.out.println("请输入要录入用户的数量:");Scanner input = new Scanner(System.in);int count=input.nextInt();//循环录入用户信息for(int i=0;i<count;i++){System.out.print("请输入用户编号(<4位整数>):");custNo = input.nextInt();System.out.print("请输入用户年龄:");age = input.nextInt();if(age<10 || age>100){ //年龄不合适则跳出System.out.println("很抱歉,您的年龄不适宜玩游戏");System.out.println("录入信息失败\n");continue;}System.out.print("请输入会员积分:");points = input.nextInt();System.out.println("您录入的会员信息是:");System.out.println("用户编号:"+custNo+ "\t年龄:" +age+ "\t积分:" +points+ "\n");}}}
四、本章总结
分支结构、循环结构、跳转语句的综合运用
五、作业
1 编写JAVA程序,实现接收用户输入的正整数,输出该数的阶乘
要求:限制输入的数据在1-10之间,无效数据进行提示,结束程序
输出结果如:4!=1*2*3*4=24
实现
public class FactDemo {/*** @param args*/public static void main(String[] args) {//定义变量接收用户输入,计算阶乘,累计表达式int number,fact=1;String msg="";Scanner input=new Scanner(System.in);//提醒输入System.out.println("请输入一个10以内的正整数:");number=input.nextInt();//验证有效性if(number>10 || number<1){System.out.println("数据无效");return;}System.out.print(number+"!=");//计算阶乘for(int i=1;i<number;i++){msg+=i+"*";fact*=i;}//组合结果,并显示fact*=number;msg+=number+"="+fact;System.out.println(msg);}}
2 写JAVA程序,实现输出1--100之间所有不能被7整除的数,并求和
要求:每输出4个数据换行显示
实现
public class NumDemo {/*** @param args*/public static void main(String[] args) {//定义变量,累计求和,统计个数int sum=0,count=1;System.out.println("1-100之间不能被7整除的数据为:");for(int i=1;i<=100;i++){//判断是否能被7整除,如果能被7整除,结束本次循环if(i%7==0)continue;//输出不能被7整除的数据System.out.print(i+"\t");//每4个数换行显示if(count%4==0)System.out.println();//累计求和,个数增加sum+=i;count++;}System.out.println();//输出累计和System.out.println("数据之和为:"+sum);}}
青鸟迷你游戏平台开发实战
本文介绍了一个基于青鸟迷你游戏平台的开发实战案例,涵盖了游戏选择、晋级、支付游戏币、统计点击率和用户信息管理等功能的实现。通过Java编程语言,详细展示了如何使用变量、数据类型、运算符、选择结构和循环结构等基本概念,以及如何综合运用分支结构、循环结构和跳转语句来解决实际问题。
1043

被折叠的 条评论
为什么被折叠?



