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的更多相关文章

  1. JavaSE教程-04Java中循环语句for,while,do···while

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

  2. JavaSE教程-04Java中循环语句for,while,do···while-思维导图

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

  3. JavaSE教程-04Java中循环语句for,while,do···while-练习

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

  4. JavaSE教程-03Java中分支语句与四种进制转换

    一.分支语句 计算机源于生活,程序模拟现实生活,从而服务生活 行为模式 1,起床,刷牙,洗脸,吃早餐,上课,回家,睡觉(顺序性) 2,如果时间不太够,打个滴滴快车,如果时间够,坐个地铁(选择性) 3, ...

  5. JavaSE教程-03Java中分支语句与四种进制转换-思维导图

    思维导图看不清楚时: 1)可以将图片另存为图片,保存在本地来查看 2)右击在新标签中打开放大查看 if语句 a) if语句 基本语法结构: if(关系表达式) { 基本语句体 } 执行流程: 首先判断 ...

  6. JavaSE教程-03Java中分支语句与四种进制转换-练习

    练习1: 老师如果带100或以上则请客吃饭 import java.util.Scanner; public class Test2{ public static void main(String[] ...

  7. “全栈2019”Java第二十七章:流程控制语句中循环语句for

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  8. “全栈2019”Java第二十六章:流程控制语句中循环语句do-while

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  9. “全栈2019”Java第二十五章:流程控制语句中循环语句while

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

随机推荐

  1. Xcode新建python项目

    1.找到电脑上安装Python的路径.OSX系统默认安装了python,默认的路径为/usr/bin/python.不确定的情况下,也可以打开命令行,用 whereis python 命令查看 2.打 ...

  2. C++ 中关于optional 使用过程中遇到的问题

    头文件:#include <boost/optional.hpp> using namespace boost; optional很像一个仅能存放一个元素的容器,它实现了"未初始 ...

  3. Java命名默认规范

    学习java的时候,命名的大小写经常弄混,所以在此总结一下java命名规范 1.project(项目名) 说法不一,暂定小写,eg:arraytest 2.包名 小写,eg:package array ...

  4. python13_day4

    上周复习 1,python基础 2,基本数据类型 3,函数式编程 函数式编程.三元运行.内置函数.文件处理 容易出问题的点 函数默认返回值为none,对于列表字典,传入引用. 1 2 3 4 5 6 ...

  5. DirectFB学习笔记二

    本篇目的,画一个方框,在方框上画一串字符. 实现步骤:首先创建IDirectFB接口,通过它再创建要显示的表面surface,同时创建字体font,绘制字符必须要设置绘制的字体,否则绘制不成功.然后清 ...

  6. [Git]05 如何使用分支

     作者:Younger Liu, 本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 未本地化版本许可协议进行许可. 几乎每一种版本控制系统都以某种形式支持分支.使用分支意味着你可以从开发 ...

  7. Android学习资料整理

    1.官方网站 http://developer.android.com/index.html http://android-developers.blogspot.com/ 2.Android Des ...

  8. c#无限循环线程如何正确退出

    c#无限循环线程如何正确退出 在主程序将要结束时,迅速正确退出无限循环执行的子线程.一般子线程循环执行会有一个指定的周期, 在子线程等待(或者睡眠)时,无法唤醒退出,尤其在执行周期较长时,子线程无法即 ...

  9. 转:Centos6.5_x86安装Redis。

    Redis是一个高性能的,开源key-value型数据库.是构建高性能,可扩展的Web应用的完美解决方案,可以内存存储亦可持久化存储.因为要使用跨进程,跨服务级别的数据缓存,在对比多个方案后,决定使用 ...

  10. JEESZ-Zookeeper集群安装

    1. 在根目录创建zookeeper文件夹(service1.service2.service3都创建) [root@localhost /]# mkdir zookeeper 通过Xshell上传文 ...