1.编写一个剪子石头布对战小程序

该法是穷举法:将所有情况列出来

import java.util.*;public class Game{public static void main(String[] args){Scanner input=new Scanner(System.in);System.out.println("经典小游戏:剪刀石头布");System.out.println("游戏规则:1:剪刀;2:石头;3:布");System.out.println("您的起始分数为:10分");int score=10;System.out.println("请输入要大战几百回合:");int count=input.nextInt();//外层我出的什么for(int i=1;i<=count;i++){System.out.println("请出拳:");//玩家出拳int fist=input.nextInt();//电脑出拳int computer=(int)(Math.random()*3)+1;//考虑电脑产生随机数的原理,可以扩大取值范围,但只使用中间的三个数值//如变为1—9,但只用456,此时需要将规则换为:4:剪刀;5:石头;6:布//只需要在switch的外层加一个if判断条件,限制computer取值:computer>=4&&computer<=6;即可//与电脑PK比较switch(fist){case 1:if(computer==1){System.out.println("你们打平了,电脑出的剪刀");}else if(computer==2){System.out.println("你输了,电脑出的石头!");score--;}else{System.out.println("你赢了,电脑出的布!");score++;}break;case 2:if(computer==1){System.out.println("你赢了,电脑出的剪刀!");score++;}else if(computer==2){System.out.println("你们打平了,电脑出的石头!");}else{System.out.println("你输了,电脑出的布!");score--;}break;case 3:if(computer==1){System.out.println("你输了,电脑出的剪刀");score--;}else if(computer==2){System.out.println("你赢了,电脑出的石头!");score++;}else{System.out.println("你们打平了,电脑出的布!");}break;}}System.out.println("您最后的得分为:"+score);}}

方法二:只需要比较

import java.util.Scanner;public class Test6{public static void main(String[] args){//做一个剪刀石头布的对战小程序//1代表剪刀,2代表石头,3代表布Scanner input=new Scanner(System.in);int computer=(int)(Math.random()*3)+1;//方案一:下面是无限循环,还以优化,由用户开控制玩的局数//考虑电脑产生随机的概率问题,可以将取值范围变为1-5,我们用2,3,4来代表特定的含义,遇到1和5就舍弃for(;;){System.out.println("来玩剪刀石头布吧!1代表剪刀,2代表石头,3代表布,请输入:");int pk=input.nextInt();if((pk==1&&computer==3)||(pk==3&&computer==1)){if(pk>computer){System.out.println("你出的:"+pk+",电脑出的:"+computer+",你赢了");}else{System.out.println("你出的:"+pk+",电脑出的:"+computer+",电脑赢了");}}else if(pk==computer){System.out.println("你出的:"+pk+",电脑出的:"+computer+",你们不分上下");}else{if(pk<computer){System.out.println("你出的:"+pk+",电脑出的:"+computer+",你赢了");}else{System.out.println("你出的:"+pk+",电脑出的:"+computer+",电脑赢了");}}}//最笨的方法:将9种情况用if···else罗列出来}
}

2.要求循环录入2个班的学员成绩

假设每个班都有3个学员,依次录入,统计超过90分的学员人数,以及这批超过90分的学员平均分。

import java.util.Scanner;public class Test5{public static void main(String[] args){//要求循环录入2个班的学员成绩,假设每个班都有3个学员,//依次录入,统计超过90分的学员人数,以及这批超过90分的学员平均分。Scanner input=new Scanner(System.in);int score=0;int count=0;double sum=0;//外层为班级for(int i=1;i<=2;i++){//内层为班中的学员for(int j=1;j<=3;j++){System.out.println("请输入"+i+"班第"+j+"个学员成绩:");score=input.nextInt();if(score>90){count++;sum+=score;}}}System.out.println("两个班超过90的学员人数:"+count);//对于没有人超过90情况的处理if(count==0){System.out.println("两个班超过90的学员成绩平均分为:0");}else{System.out.println("两个班超过90的学员成绩平均分为:"+sum/count);}}
}

【JavaSE04】Java中循环语句for,while,do···while-练习2相关推荐

  1. 【JavaSE04】Java中循环语句for,while,do···while

    Java的循环语句 引入: 生活中有循环,程序的世界也有循环. 思考:生活中有哪些循环的事情? 总结:什么是循环? 重复做类似的事情,而且有终止条件,如果没有终止条件会是怎样? 类似这样的情况,Jav ...

  2. java中循环语句_Java语法基础之循环结构语句详解

    一.循环结构 循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循 ...

  3. 【Java学习笔记之十】Java中循环语句foreach使用总结及foreach写法失效的问题

    foreach语句使用总结 增强for(part1:part2){part3}; part2中是一个数组对象,或者是带有泛性的集合. part1定义了一个局部变量,这个局部变量的类型与part2中的对 ...

  4. java中循环语句指哪些_java中的循环语句有哪些

    Java中有三种主要的循环结构: while 循环 do-while 循环 for 循环 顺序结构的程序语句只能被执行一次.如果您想要同样的操作执行多次,,就需要使用循环结构. 一.while循环 语 ...

  5. 【JavaSE04】Java中循环语句for,while,do···while-思维导图

    思维导图看不清楚时: 1)可以将图片另存为图片,保存在本地来查看 2)右击在新标签中打开放大查看

  6. 【JavaSE04】Java中循环语句for,while,do···while-练习

    0.实现打印50遍的"我爱你" 1.请在控制台输出数据1-10 2.请在控制台输出数据10-1 3.求出1-10之间数据之和 4.求出1-100之间能够被3整除的所有数的和 前四题 ...

  7. java中goto用法源代码,java中goto语句解析12

    hi, 今天无意中看到有个兄弟在java程序中多次用到了goto语句,感觉很是怪异,copy来编译下发现有很多错误! 为此,我付出了一下午时间去研究这个块被人遗忘了的可怕的"魔鬼" ...

  8. 了解掌握Java的循环语句、条件语句、分支语句(Java 从自学到就业 第3天)

    Java 学习记录 第三天 由于本渣渣是前端转行Java,所以编辑器的选择就直接用 webstorm 同公司的 idea 学习目标 了解掌握Java的循环语句.条件语句.分支语句 学习内容 while ...

  9. JAVA中循环删除list中元素的方法总结

    原文:http://www.cnblogs.com/aspirant/p/7900854.html 印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后今天 ...

最新文章

  1. Python使用matplotlib可视化面积图(Area Chart)、通过给坐标轴和曲线之间的区域着色可视化面积图、在面积图的指定区域添加箭头和数值标签
  2. 【安全漏洞】Cisco命令注入漏洞CVE-2021-1414分析
  3. 给所有开发人员的 11 条忠告(第 4 条亮了)
  4. 暴力——猜数字(hdu1172)
  5. 一位Oracle老司机的openGauss初体验
  6. flask response对象
  7. 8年web前端开程序媛,告诉你如何零基础学习web前端
  8. PIO导出Excel 设置样式
  9. 利用ES4封装Windows10
  10. java实习实训管理系统ssm
  11. MATLAB车牌识别GUI设计实现
  12. C语言自学笔记(16)
  13. 万恶的prototype
  14. 远程访问openwrt路由器+配置动态DNS
  15. 美丽联合集团赵成:要让员工看到自己的未来
  16. FAT32文件系统学习
  17. 关于统一等价类划分的术语和过程
  18. Surface Pro 4 上市 预订用户专享礼包
  19. cocos creator入门教程(十七)—— creator_h5打包发布优化技巧_android环境搭建与打包发布
  20. 【人工智能】数据科学2019发展趋势有哪些?计算机先驱艾伦•图灵这样说!

热门文章

  1. 如何设置使windows(dos)命令中目录和文件可以自动完成和补齐
  2. vray渲染出图尺寸_Vray渲染出图该如何正确保存
  3. TensorFlow入门:计算图
  4. 简单点名小程序(伪)----android开发
  5. 操作系统实验——简易FAT16文件系统的实现
  6. [密码学] 复杂性理论基础
  7. 15. 三数之和(双指针)
  8. linux kernel的spin_lock的详细介绍(以arm64为例)
  9. scrapy框架对接seleniumpipeline数据持久化
  10. xamp已有mysql端口修改依然启动不_关于xampp启动不了mysql的解决方法