JavaSE教程-04Java中循环语句for,while,do···while-练习2
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);
}
}
}
JavaSE教程-04Java中循环语句for,while,do···while-练习2的更多相关文章
- JavaSE教程-04Java中循环语句for,while,do···while
** Java的循环语句 ** 引入: 生活中有循环,程序的世界也有循环. 思考:生活中有哪些循环的事情? 总结:什么是循环? 重复做类似的事情,而且有终止条件,如果没有终止条件会是怎样? 类似这样的 ...
- JavaSE教程-04Java中循环语句for,while,do···while-思维导图
思维导图看不清楚时: 1)可以将图片另存为图片,保存在本地来查看 2)右击在新标签中打开放大查看
- JavaSE教程-04Java中循环语句for,while,do···while-练习
0.实现打印50遍的"我爱你" 1.请在控制台输出数据1-10 2.请在控制台输出数据10-1 3.求出1-10之间数据之和 4.求出1-100之间能够被3整除的所有数的和 前四题 ...
- JavaSE教程-03Java中分支语句与四种进制转换
一.分支语句 计算机源于生活,程序模拟现实生活,从而服务生活 行为模式 1,起床,刷牙,洗脸,吃早餐,上课,回家,睡觉(顺序性) 2,如果时间不太够,打个滴滴快车,如果时间够,坐个地铁(选择性) 3, ...
- JavaSE教程-03Java中分支语句与四种进制转换-思维导图
思维导图看不清楚时: 1)可以将图片另存为图片,保存在本地来查看 2)右击在新标签中打开放大查看 if语句 a) if语句 基本语法结构: if(关系表达式) { 基本语句体 } 执行流程: 首先判断 ...
- JavaSE教程-03Java中分支语句与四种进制转换-练习
练习1: 老师如果带100或以上则请客吃饭 import java.util.Scanner; public class Test2{ public static void main(String[] ...
- “全栈2019”Java第二十七章:流程控制语句中循环语句for
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第二十六章:流程控制语句中循环语句do-while
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第二十五章:流程控制语句中循环语句while
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
随机推荐
- (一)java多线程之Thread
本人邮箱: kco1989@qq.com 欢迎转载,转载请注明网址 http://blog.csdn.net/tianshi_kco github: https://github.com/kco198 ...
- Eclipse导入Android签名
本篇主要参照http://blog.csdn.net/wuxy_shenzhen/article/details/20946839 在安装安卓apk时经常会出现类似INSTALL_FAILED_SHA ...
- 03(1) Gaussians,GMMs基础
1.单成分单变量高斯模型 2.单成分多变量高斯模型 若协方差矩阵为对角矩阵且对角线上值相等,两变量高斯分布的等值线为圆形 若协方差矩阵为对角矩阵且对角线上值不等,两变量高斯分布的等值线为椭圆形, 长轴 ...
- 探讨数据进行AES加密和解密以及.NET Core对加密和解密为我们提供了什么?
前言 对于数据加密和解密每次我都是从网上拷贝一份,无需有太多了解,由于在.net core中对加密和解密目前全部是统一了接口,只是做具体的实现,由于遇到过问题,所以将打算基本了解下其原理,知其然足矣, ...
- DELL Precision Tower7910重装系统+开机出现GRUB界面如何处理
想给实验室的工作站重新装个Win7系统,因为以前并没装过工作站的系统,发现和普通的电脑装系统还是有些不一样的.主要的问题就在于主板的不同. 尝试了老毛桃U盘启动盘安装,结果在WinPE里面提示找不到硬 ...
- Linux Bootup Time
Linux Bootup Time 英文原文地址:http://elinux.org/Boot_Time 1. 简介 启动时间这一话题包括很多子话题,比如启动时间的衡量.启动时间的分析.人为因素分 ...
- JQuery 根据ID在页面中定位
1.锚点跳转简介 锚点其实就是可以让页面定位到某个位置上的点.在高度较高的页面中经常见到.比如百度的百科页面,wiki中的page内容. 我知道实现锚点的跳转有两种形式,一种是a标签+name属性:还 ...
- 多个php版本的composer使用
由于系统环境变量之前同事安装的laravel是5.1...php默认的环境变量是: 不想破话原有环境变量,因为现在新的项目是laravel5.4...所以在用默认composer require安装时 ...
- webUI自动化测试框架---”pyswat“介绍
webUI自动化测试框架---"pyswat"介绍 大家好我是lamecho 辣么丑,今天给大家介绍一款web自动化测试框架pyswat. "pyswat"是 ...
- 新手上路---Java学习知识梳理
我随笔 我相信也有那么一些人跟我一样,脱下军装后对未来感到迷茫,不知所措甚至怀疑起自己的能力,自身体会的经历过才能明白其中的辛酸!归咎一切:心态,信心,自信!再穷不过乞讨,不死终将出头.好了,闲言碎语 ...