JAVA基础习题小结①

来源:互联网 发布:c3.js官网 编辑:程序博客网 时间:2024/05/18 03:38
一、用户玩游戏,每次玩5局 不足5局则不能晋级。 在5局游戏中,如果80%达 到80分以上,为一级,

    如果 60%达到80分以上为二级, 否则不能晋级。

    编程思路:①明确需要定义的三个变量,②有固定的重复次数(for循环),③有需要判断的分数等级以及是否晋级(if-       else)语句。

public class Demo1 {public static void main(String[] args) {Scanner input = new Scanner(System.in);int score = 0, num = 0;//定义变量score、num、flag,用来存储分数、游戏局数、字符。String flag = "";System.out.println("迷你游戏平台>游戏晋级");for (int i = 1; i <= 5; i++) {System.out.print("您正在玩第" + i + "局游戏,成绩为:");score = input.nextInt();//输入成绩if (score > 80) {//if条件判断num++;}if (i < 5) {System.out.println("继续玩下一局吗?yes/no");flag = input.next();if ("yes".equals(flag)) {System.out.println("进入下一局");} else {System.out.println("您已经中途退出游戏");break;}} else {System.out.println("Game Over!");}}double result = num * 1.0 / 5;//计算游戏结果的分数百分比,注意此处为double类型。if (result >= 0.8) {System.out.println("恭喜!通过一级");} else if (result >= 0.6 && result < 0.8) {System.out.println("恭喜!通过二级");} else {System.out.println("对不起,您未能晋级,加油啊!");}
例二:根据游戏类型和游戏时长计算应支付的游戏币
      游戏分为两大类:棋牌类和休闲竞技类
      收费标准:棋牌类:10元/小时;休闲竞技类:20元/小时
      规则:游戏时间超过10小时,打五折,10小时及以下,八折。
编程思路:①游戏分为两类,所以应该想到有两条分支,即(if-else)语句;②明确所需变量,和需要做出判断的条件。
   
public class Demo2 {public static void main(String[] args) {Scanner sc=new Scanner(System.in);String str="";//定义游戏类型、折扣、游戏时间、不同游戏类型的单价。int discount=0;int time=0;int price=0;System.out.println("迷你游戏平台> 游戏币支付\n");System.out.println("请选择您玩的游戏类型:");System.out.println("\t1.牌类\n\t2.休闲竞技类");int a=sc.nextInt();输入所选择的游戏编号。if(a==1){str="牌类";price=10;}if(a==2){str="休闲竞技类";price=20;}System.out.println("请输入游戏时长:"); time=sc.nextInt();if(time>=10){discount=5;}else{discount=8;}System.out.println("您玩的是"+str+",时长是"+time+"小时,可以享受"+discount+"折优惠,您需要支付"+time*price*discount*0.1+"个游戏币");}}}}

注释:使用多重if,根据游戏得分判断是否晋级。

例三:录入四种游戏的点击率,统计点击率超过100的游戏所占的比例。

    注释:使用if结构、语句。

public class Demo4 {
public static void main(String[] args) {
int num=0;//
Scanner input = new Scanner(System.in);
System.out.println("迷你游戏平台>游戏点击率\n");
for(int i=1;i<=4;i++){
System.out.print("请输入第"+i+"个游戏点击率:");
int a=input.nextInt();
if(a>=100){
num++;//累加游戏个数。
}
}
System.out.println("点击率大于100的游戏数是:"+num);
System.out.println("点击率大于100的游戏所占比例:"+num*1.0/4*100+"%");
}
}


例四:维护用户信息,需要将其信息录入系统中。用户信息包括:用户编号、年龄、积分。要求:十岁以上。

编程思路:①有固定的循环值,可以用(for循环);②有需要进行判断的条件,(if-else);③进行for循环和if-else之间的嵌套组合。

public class Demo5 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("迷你游戏平台>添加用户信息");
System.out.println("请输入要录入用户的数量:");
int num=input.nextInt();
int userId,age,integral;
for(int i=0;i<num;i++){
System.out.println("请输入用户编号:(<4位整数>):");
userId=input.nextInt();
System.out.println("请输入用户年龄:");
age=input.nextInt();
if(age<10){
System.out.println("很抱歉!您的年龄不适合玩游戏");
System.out.println("录入信息失败\n");
}else{
System.out.println("请输入用户积分:");
integral=input.nextInt();
System.out.println("您录入的会员信息是:");
System.out.println("用户编号:"+userId+"\t年龄:"+age+"\t积分:"+integral);
}
}
}


}

小结:实现此类java基础编程,首先把问题拆分为几个部分,接着根据所学的几个语句写出某个部分或问题的代码,把写出的代码做出分析,结合问题,查漏补缺。最后根据运行结果进行相应的调整。