目录

1.程序要求

2.代码思路

3.代码及运行结果


1.程序要求

写一个简单程序来实现用户与电脑玩剪刀石头布游戏,该程序先随机生成一个数字0、1或2,分别代表剪刀,石头,布。该程序提示用户输入0,1或2,如果输入错误,则提示非法输入,请重再试一次,如果通过,则并显示一条消息,告知用户和计算机得分情况,先赢了三局的一方获得总胜利。(BO5了属于是)

2.

在while循环中来实现要求,每次循环开始先设置随机函数,给电脑生成0,1或2其中一个数字,然后用Scanner类,将用户输入流保存,用一个if判断输入是否合法,再通过switch来判断用户与电脑的比赛情况,对于分数,可以设置两个变量:用户得分,电脑得分,当有一方超过2分,则结束while循环,告知最终结果。

3.

import java.util.Scanner;
public class scissor_rock_paper{public static void main(String[] args){int compWinN = 0;//Computer scoreint peoWinN = 0;//User scoreScanner input = new Scanner(System.in);System.out.println("************Game start!************");while(peoWinN<=2&&compWinN<=2) {// Computer selectingint comp = (int) (Math.random() * 3);// If input value is illegalif (input.hasNextInt() == false) {System.out.println("Your input is illegal.");break;}// People selectingint user=input.nextInt();System.out.println("scissor (0), rock (1), paper (2):" + user);//Judge the scoreswitch (user) {case 0:if (comp == 0) {System.out.println("The computer is scissor. You are scissor.(computer:" + compWinN + " you:" + peoWinN + ")");break;} else if (comp == 1) {compWinN++;System.out.println("The computer is rock. You are scissor.(computer:" + compWinN + " you:" + peoWinN + ")");break;} else if (comp == 2) {peoWinN++;System.out.println("The computer is paper. You are scissor.(computer:" + compWinN + " you:" + peoWinN + ")");break;}case 1:if (comp == 0) {peoWinN++;System.out.println("The computer is scissor. You are rock.(computer:" + compWinN + " you:" + peoWinN + ")");break;} else if (comp == 1) {System.out.println("The computer is rock. You are rock.(computer:" + compWinN + " you:" + peoWinN + ")");break;} else if (comp == 2) {compWinN++;System.out.println("The computer is paper. You are rock.(computer:" + compWinN + " you:" + peoWinN + ")");break;}case 2:if (comp == 0) {compWinN++;System.out.println("The computer is scissor. You are paper.(computer:" + compWinN + " you:" + peoWinN + ")");break;} else if (comp == 1) {peoWinN++;System.out.println("The computer is rock. You are paper.(computer:" + compWinN + " you:" + peoWinN + ")");break;} else if (comp == 2) {System.out.println("The computer is paper. You are paper.(computer:" + compWinN + " you:" + peoWinN + ")");break;}}}// Judge who wins the game&&Print the intermediate resultif(peoWinN > 2)System.out.print("You won!");else if (compWinN>2)System.out.print("Computer won!");else {System.out.println("Please try again.");}input.close();}
}

总结: 用了很笨但直接的方法,虽然运行结果还算满意,但是可以改进的地方还很多(笑),代码太过繁琐,不够简便,算是给各位提供一个思路吧, 大家有想分享的或是提意见,都可以在评论底下提出~

【JAVA】简单程序实现人机对抗:剪刀石头布相关推荐

  1. 图形识别-基于opencv+java简单程序

    前言:如需转载请注明出处: 图形识别-基于opencv+java简单程序_x业精于勤x的博客-CSDN博客 OpenCV的 全称是:Open Source Computer Vision Librar ...

  2. java简单程序彩票系统!

    彩票系统 红区:取值范围1–35 5个 蓝取:取值范围1–12 2个 一注彩票的号码不能有重复的 功能: 1.购买:手动输入彩票号码 判断是否中奖 2.随机:让电脑自动生成 可以手动选择随机多少注 3 ...

  3. Java小程序——简单五子棋(人机对战)

    有关五子棋人人对战的代码,以及其他一些我想说的话请参考 Java小程序 -- 简单五子棋_如切如磋,如琢如磨-CSDN博客_java小程序 由于某些原因,这里我给出的AI算法算是比较简单的,所以导致了 ...

  4. 扑克牌游戏程序——人机对抗

    编写扑克牌游戏程序,初步设定玩家是人机对抗,每人各抓12张牌,游戏规则是每次只能出一张牌,投骰子决定谁先出牌.点数大的管住点数小的.如果管不住对方时就不出牌,让对方出牌.先出完牌的一方为赢.权值大小规 ...

  5. java拳皇地下城_拳皇(Java简单的小程序)代码实例

    刚开始学习Java,看完老九君的视频根据他的内容敲的代码,感觉还挺有成就感的,毕竟刚学习Java. package helloasd;import java.util.*; public class ...

  6. JAVA拳皇_拳皇(Java简单的小程序)代码实例|chu

    刚开始学习Java,看完老九君的视频根据他的内容敲的代码,感觉还挺有成就感的,毕竟刚学习Java. package helloasd;import java.util.*; public class ...

  7. java简单密码验证程序

    java简单密码验证程序 package demo01;import java.util.Scanner;/*** java模拟密码验证问题* 从键盘上录入6位密码,验证密码是不是6位,如果不是6位提 ...

  8. java程序设计简单程序分类_3 Java的基本程序设计结构

    3.1 一个简单的Java应用程序 public classFirstSample {public static voidmain(String[] args) { System.out.printl ...

  9. 简单Java小程序----有界面ATM机

    继<简单Java小程序---无界面ATM机>以后,尝试对有界面ATM机改写,对面向对象的了解又深了一层! 桌面的创建过程       由于使用的NetBean软件没有提供专用的控件拖拽使用 ...

最新文章

  1. Win10命令行激活 电脑组装
  2. Oracle 11g r2 安装
  3. 提升vector性能的几个技巧
  4. horizon client长时间不操作不断开_动挡操作禁忌,伤车只在一瞬间!否则变速箱会提前...
  5. 华为 android9 信任app_搭载麒麟810处理器,华为Nova5i Pro的AI跑分创新高
  6. 开启进度比的文本为什么没有显示_没有开通智钻,为什么会显示流量是在智钻进店的呢?...
  7. linux 下清空回收站命令
  8. golang java rpc_golang两种调用rpc的方法
  9. Python的Request请求跳过认证及禁用警告
  10. 华为Mate 20 X(5G)评测:6199元的5G双模旗舰手机
  11. 中国农业工作服行业市场供需与战略研究报告
  12. 【跃迁之路】【736天】程序员高效学习方法论探索系列(实验阶段493-2019.2.26)...
  13. pin码计算器网页版_PIN码计算锦集
  14. linux 脚本加密 shc
  15. 阿泰,水晶报表--pull模式样板
  16. python中英文字母和中文汉字所占的字节
  17. unity3d的Animation 动画播放器的基本API
  18. 美食杰项目-登录注册
  19. 基于浏览器的http普通请求与ajax请求
  20. Rmarkdown直觉以及常用katex语法

热门文章

  1. 解决Module not specified问题
  2. 【IOT】阿里开放平台区别:Link Develop平台、飞燕平台、物联网平台
  3. 再读苹果《Threading Programming Guide》笔记(二):线程配置与Run Loop
  4. 【翻译】Java中String, StringBuffer, StringBuilder的区别
  5. python的核心数据类型_核心数据类型--字符串
  6. Android7.1上报的CNEService/WbcService/LauncherUnreadService停止运行错误,拔掉电池重启开机几次才不报
  7. PropertyDescriptor 详解
  8. 2018年机器学习算法工程师求职经验搬运
  9. 【Cadence】psp or hbsp仿真设置
  10. 想学好Java,非常推荐浏览与收藏的7本经典书籍