用JAVA语句在控制台输入(石头)1 (剪刀)2 (布)3 统计你赢了多少次(次数无论)

作者&投稿:包矩 (若有异议请与网页底部的电邮联系)
急!!用java编写一个石头剪子布的游戏。 电脑从1-3中选择一个任意数。 (用数字代表石头剪子布~

import java.util.Scanner;public class Kyo{public static void main(String[] args){Scanner scanner = new Scanner(System.in);int count_computer = 0;int count_user = 0;int count_draw = 0;int which = 0;String[] arr = { "石头", "布", "剪刀" };while(true){System.out.print("1=石头, 2=布 , 3=剪刀; 你出什么: ");String line = scanner.nextLine().trim();try{which = Integer.parseInt(line);}catch(NumberFormatException nfe){continue;}if(which 3){continue;}if(which == 0){scanner.close();System.out.println("用户胜利的次数: " + count_user);System.out.println("电脑胜利的次数: " + count_computer);System.out.println("平局的次数: " + count_draw);break;}int rand = (int) (Math.random() * 3) + 1;System.out.println("电脑出的是: " + arr[rand - 1]);System.out.println("你出的是: " + arr[which - 1]);if(rand > which){System.out.println("winner is 电脑");count_computer++;}else if(rand < which){System.out.println("你是winner");count_user++;}else{System.out.println("平局draw game");count_draw++;}}}}

import java.util.Random;import java.util.Scanner;public class FingerGuessingGame {private static Scanner sc;private static Random rad;private static final String[] FINGERS = {"剪刀", "石头", "布"};private static int win = 0, loose = 0, draw = 0;public static void main(String[] args) {sc = new Scanner(System.in);rad = new Random();while(true) {System.out.println("~~~~~~~~~~~~剪刀石头布游戏,输入E可以退出~~~~~~~~~~~");System.out.println("请选择你要出什么?Z——剪刀,X——石头,C——布");String command = sc.nextLine();int playerFinger = getValue(command);if(playerFinger == -1) {break;} else if(playerFinger == 3) {System.out.println("输入错误,请参考说明!");continue;}System.out.println("你出的是" + FINGERS[playerFinger]);int cpuFinger = rad.nextInt(3);System.out.println("计算机出的是" + FINGERS[cpuFinger]);int result = playerFinger - cpuFinger;if(0 == result) {System.out.println("平局!");draw ++;} else if(-1 == result) {System.out.println("你输了!");loose ++;} else {System.out.println("你赢了!");win ++;}}System.out.println("游戏结束!
游戏统计次数");System.out.println(String.format("赢:%d
输:%d
平局:%d", win, loose, draw));}private static int getValue(String command) {if(command.equalsIgnoreCase("E")) {return -1;}if(command.equalsIgnoreCase("Z")) {return 0;}if(command.equalsIgnoreCase("X")) {return 1;}if(command.equalsIgnoreCase("C")) {return 2;}return 3;}}

刚刚没考虑到胜利的判断规则,现在补上,不好意思哦

-------------------------------------代码------------------------------

package com.hx.baidu;

import java.util.Random;

import java.util.Scanner;

/**

 * @项目名称 :JavaGame_March

 * @文件名称 :ShitouJiandao.java

 * @所在包 :com.hx.baidu

 * @功能描述 :用JAVA语句在控制台输入(石头)1 (剪刀)2 (布)3 统计你赢了多少次(次数无论)

 *       这是在百度上看到的题目:http://zhidao.baidu.com/question/231284633.html

 * 

 * @创建者 :集成显卡 1053214511@qq.com

 * @创建日期 :2011-3-1

 * @修改记录 :

 */

public class ShitouJiandao {

 private Scanner scanner;// 控制台的监视

 private int count;// 计数器

 private int win_count;// 赢了多少次

 private Random random;// 产生随机数

 private String name[] = { "石头", "剪刀", "布" };

 /**

  * @构造方法:

  * @类名:ShitouJiandao.java

  */

 public ShitouJiandao() {

  // 如果scanner为null时,使用控制台的in这个inputstream实例化

  if (scanner == null) {

   scanner = new Scanner(System.in);

  }

  // 同上面的scanner

  if (random == null) {

   random = new Random();

  }

  System.out.println("系统初始化完成。By:集成显卡  2011");

  System.out.println("输入(石头)1 (剪刀)2 (布)3 ,并按 回车 便可以进行游戏。输入‘e’退出游戏。");

  process();

 }

 private void process() {

  int sysResult;// 程序后台得到的答案

  int userResult;// 用户输入的

  while (true) {

   sysResult = random.nextInt(2) + 1;

   System.out.print("第 " + (++count) + " 次,你出:");

   if (scanner.hasNext()) {

    String temp = scanner.next();

    try {

     userResult = Integer.valueOf(temp);

     int result = isWin(userResult, sysResult);

     if (result == 0) {

      win_count++;

      System.out.println("恭喜您答对了!您已经答对了:" + win_count + " 次");

     } else if (result == 2) {

      System.out.println("平局");

     } else {

      System.out.println("嘻嘻,你答错了哦,答案是:" + name[sysResult - 1] + " 可您出:" + name[userResult - 1]);

     }

    } catch (Exception e) {

     if (temp.equalsIgnoreCase("e")) {

      System.out.println("现在退出游戏:您进行了" + count + " 次游戏,答对:" + win_count + " 次");

      System.out.println("多谢游戏!");

      break;

     }

    }

   }

  }

 }

 /**

  * @方法名称 :isWin

  * @功能描述 :判断是否胜利 (石头)1 (剪刀)2 (布)3 1 胜2,2胜3,3胜1,返回值: 0 为胜利,1 为错了,2为平

  * @返回值类型 :boolean

  * @param uer

  * @param sys

  * @return

  * 

  * @创建日期 :2011-3-1

  * @修改记录 :

  */

 private int isWin(int uer, int sys) {

  if (uer == sys)

   return 2;

  if ((uer == 1 && sys == 2) || (uer == 2 && sys == 3) || (uer == 3 && sys == 1))

   return 0;

  return 1;

 }

 public static void main(String a[]) {

  new ShitouJiandao();

 }

}

============运行结果==========

系统初始化完成。By:集成显卡  2011

输入(石头)1 (剪刀)2 (布)3 ,并按 回车 便可以进行游戏。输入‘e’退出游戏。

第 1 次,你出:1

平局

第 2 次,你出:2

嘻嘻,你答错了哦,答案是:石头 可您出:剪刀

第 3 次,你出:3

恭喜您答对了!您已经答对了:1 次

第 4 次,你出:1

平局

第 5 次,你出:1

恭喜您答对了!您已经答对了:2 次

第 6 次,你出:2

嘻嘻,你答错了哦,答案是:石头 可您出:剪刀

第 7 次,你出:e

现在退出游戏:您进行了7 次游戏,答对:2 次

多谢游戏!



public class caiquan {
Scanner input=new Scanner(System.in);
String p1chuquan;
String p2chuquan;
int mod,p1,p2;
int chuquanp1;
int chuquanp2;
int win=0,lose=0,he=0,winx=0;
String p1name,p2name;
int score;
public void top(){
System.out.print("-----------------------------欢 迎 进 入 游 戏 世 界-----------------------------\n\n");
System.out.print(" *******************\n");
System.out.print(" ** 猜拳 V 1.0开始 **\n");
System.out.print(" *******************\n\n\n");
System.out.print("-----------------------------版权所有 违者必究-----------------------------\n\n");
System.out.print("请选择您喜爱的游戏模式:\n");
boolean t5=true;
while(t5){
System.out.print("1.我要虐待电脑\t2.双人鏖战\n\n");
mod=input.nextInt();
switch(mod){
case 1:
System.out.print("出拳规则:1.剪刀 2.石头 3.布\n");
pve();
t5=false;
break;
case 2:
System.out.print("出拳规则:1.剪刀 2.石头 3.布\n");
pvp();
t5=false;
break;
default:
System.out.print("您的输入有误,请重新选择!\n");
}
}
}
public void pvp(){
boolean t6=true;
while(t6){
System.out.print("请第一位玩家选择角色(1:刘备 2:孙权 3:曹操):\n");
p1=input.nextInt();
switch(p1){
case 1:
p1name="刘备";
t6=false;
break;
case 2:
p1name="孙权";
t6=false;
break;
case 3:
p1name="曹操";
t6=false;
break;
default:
System.out.print("输入错误!请重新选择!\n");
continue;
}
}
boolean t7=true;
while(t7){
System.out.print("请第二位玩家选择角色(1:刘备 2:孙权 3:曹操):\n");
p2=input.nextInt();
switch(p2){
case 1:
p2name="刘备";
t7=false;
break;
case 2:
p2name="孙权";
t7=false;
break;
case 3:
p2name="曹操";
t7=false;
break;
default:
System.out.print("输入错误!请重新选择!\n");
continue;
}
}
if(p1name.equals(p2name)){
p1name=p1name+1;
p2name=p2name+2;
}
System.out.println("玩家一选择<<<"+p1name+">>>开始了征程! ");
System.out.println("玩家二选择<<<"+p2name+">>>与您一决高下!\n");
}
public void pve(){
boolean t1=true;
while(t1){
System.out.print("请选择角色(1:刘备 2:孙权 3:曹操):\n");
p1=input.nextInt();
p2=(int)(Math.random()*2);
switch(p1){
case 1:
p1name="刘备";
if (p2==0){
p2name="孙权";
}
else{
p2name="曹操";
}
t1=false;
break;
case 2:
p1name="孙权";
if (p2==0){
p2name="刘备";
}
else{
p2name="曹操";
}
t1=false;
break;
case 3:
p1name="曹操";
if (p2==0){
p2name="刘备";
}
else{
p2name="孙权";
}
t1=false;
break;
default:
System.out.print("输入错误!请重新选择!\n");
}
}
System.out.println("您选择<<<"+p1name+">>>开始了征程! ");
System.out.println("电脑决定用<<<"+p2name+">>>与您一决高下!\n");
}
public void chuquan(){
boolean t2=true;
while(t2){
System.out.print("\n请玩家一出拳:1.剪刀 2.石头 3.布 (输入相应的数字):");
chuquanp1=input.nextInt();
switch(chuquanp1){
case 1:
p1chuquan="剪刀";
t2=false;
break;
case 2:
p1chuquan="石头";
t2=false;
break;
case 3:
p1chuquan="布";
t2=false;
break;
default:
System.out.print("输入错误!请重新选择!\n");
continue;
}
}
switch(mod){
case 1:
chuquanp2=(int)(Math.random()*3);
switch(chuquanp2){
case 0:
p2chuquan="剪刀";
break;
case 1:
p2chuquan="石头";
break;
case 2:
p2chuquan="布";
break;
}
break;
case 2:
boolean t8=true;
while(t8){
System.out.print("\n请玩家二出拳:1.剪刀 2.石头 3.布 (输入相应的数字):");
chuquanp2=input.nextInt();
switch(chuquanp2){
case 1:
p2chuquan="剪刀";
t8=false;
break;
case 2:
p2chuquan="石头";
t8=false;
break;
case 3:
p2chuquan="布";
t8=false;
break;
default:
System.out.print("输入错误!请重新选择!\n");
continue;
}
}
break;
}
System.out.println(p1name+"出拳:"+p1chuquan);
System.out.println(p2name+"出拳:"+p2chuquan);
}
public void shengfu(){
if (p1chuquan.equals(p2chuquan)){
he++;
winx=1;
System.out.println("平局!");
}
else if (p1chuquan=="剪刀"&&p2chuquan=="布"){
win++;
winx=2;
System.out.println(p1name+"获胜!");
}
else if (p1chuquan=="布"&&p2chuquan=="石头"){
win++;
winx=2;
System.out.println(p1name+"获胜!");
}
else if (p1chuquan=="石头"&&p2chuquan=="剪刀"){
win++;
winx=2;
System.out.println(p1name+"获胜!");
}
else{
lose++;
winx=3;
System.out.println(p2name+"获胜!");
}
yuyan();
}
public void yuyan(){
if (p1name.equals("刘备")&&p2name.equals("孙权")){
if(winx==1){
System.out.println(p1name+":蜀将何在?");
System.out.println(p2name+":吴将何在?");
}
else if(winx==2){
System.out.println(p1name+":惟贤惟德,能服以人!");
System.out.println(p2name+":容我三思...");
}
else if(winx==3){
System.out.println(p1name+":这就是桃园吗?");
System.out.println(p2name+":智者千虑必有一失,愚者千虑必有一得!");
}
}
else if (p1name.equals("刘备")&&p2name.equals("曹操")){
if(winx==1){
System.out.println(p1name+":蜀将何在?");
System.out.println(p2name+":魏将何在?");
}
else if(winx==2){
System.out.println(p1name+":惟贤惟德,能服以人!");
System.out.println(p2name+":来人,护驾!");
}
else if(winx==3){
System.out.println(p1name+":这就是桃园吗?");
System.out.println(p2name+":宁教我负天下人,休叫天下人负我!");
}
}
else if (p1name.equals("孙权")&&p2name.equals("刘备")){
if(winx==1){
System.out.println(p1name+":吴将何在?");
System.out.println(p2name+":蜀将何在?");
}
else if(winx==2){
System.out.println(p1name+":智者千虑必有一失,愚者千虑必有一得!");
System.out.println(p2name+":这就是桃园吗?");
}
else if(winx==3){
System.out.println(p1name+":容我三思...");
System.out.println(p2name+":惟贤惟德,能服以人!");
}
}
else if (p1name.equals("孙权")&&p2name.equals("曹操")){
if(winx==1){
System.out.println(p1name+":吴将何在?");
System.out.println(p2name+":魏将何在?");
}
else if(winx==2){
System.out.println(p1name+":智者千虑必有一失,愚者千虑必有一得!");
System.out.println(p2name+":来人,护驾!");
}
else if(winx==3){
System.out.println(p1name+":容我三思...");
System.out.println(p2name+":宁教我负天下人,休叫天下人负我!");
}
}
else if (p1name.equals("曹操")&&p2name.equals("刘备")){
if(winx==1){
System.out.println(p1name+":魏将何在?");
System.out.println(p2name+":蜀将何在?");
}
else if(winx==2){
System.out.println(p1name+":宁教我负天下人,休叫天下人负我!");
System.out.println(p2name+":这就是桃园吗?");
}
else if(winx==3){
System.out.println(p1name+":来人,护驾!");
System.out.println(p2name+":惟贤惟德,能服以人!");
}
}
else if (p1name.equals("曹操")&&p2name.equals("孙权")){
if(winx==1){
System.out.println(p1name+":魏将何在?");
System.out.println(p2name+":吴将何在?");
}
else if(winx==2){
System.out.println(p1name+":宁教我负天下人,休叫天下人负我!");
System.out.println(p2name+":容我三思...");
}
else if(winx==3){
System.out.println(p1name+":来人,护驾!");
System.out.println(p2name+":智者千虑必有一失,愚者千虑必有一得!");
}
}
else{
if(winx==1){
System.out.println(p1name+":难兄难弟?");
System.out.println(p2name+":以和为贵!");
}
else if(winx==2){
System.out.println(p1name+":你是假的,我是真的!");
System.out.println(p2name+":被看穿了吗?");
}
else if(winx==3){
System.out.println(p1name+":苍天!~~~");
System.out.println(p2name+":以假乱真!");
}
}
}
public void stop(){
score=win-lose;
System.out.print("-----------------------------------------------------------------------------\n");
System.out.print(p1name+" vs "+p2name+"\n");
System.out.print("对战次数:"+(win+lose+he)+"\n");
System.out.print("结果:"+score+"分\n");
System.out.print("赢:"+win+"\n");
System.out.print("输:"+lose+"\n");
System.out.print("和:"+he+"\n");
if(score>0){
System.out.println("天下三分,终归于晋,望汝得之于民,惠之于民!");
}
else if(score==0){
System.out.println("今日天色已晚,且自收兵,来日再战!");
}
else{
System.out.println("我军行仁义,得天道,汝安得不败?");
}
System.out.print("-----------------------------------------------------------------------------\n");
}
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
caiquan a=new caiquan();
a.top();
boolean t3=true;
while(t3){
a.chuquan();
a.shengfu();
boolean t4=true;
while(t4){
System.out.print("\n是否开始下一轮(y/n):");
String panduan1=input.next();
if(panduan1.equals("y")){
break;
}
else if(panduan1.equals("n")){
t3=false;
break;
}
else{
System.out.print("输入错误!请重新选择!\n");
}
}
}
a.stop();
}
}
正好有刚学java时候写的一版,楼主拿去看看吧

package zhidao;

import java.util.Random;
import java.util.Scanner;

public class Test {

public static void main(String[] args) {

int num = 0;
int success = 0;
Random rand = new Random();
final int shitou = 1;
final int jiandao = 2;
final int bu = 3;

while(num != -1){
System.out.println("请输入(石头)1 (剪刀)2 (布)3,输入-1结束程序");
Scanner scanner = new Scanner(System.in);
num = scanner.nextInt();

if(num != 1 && num !=2 && num != 3){
System.out.println("出错了,只能输入(石头)1 (剪刀)2 (布)3!");
continue;
}

if(num == (rand.nextInt() % 3 + 1)){
System.out.println("你赢了!" );
success++;
}else{
System.out.println("你输了");
}

}

System.out.println("目前为止,你赢了" + success + "次");
}

}
------------------
请输入(石头)1 (剪刀)2 (布)3,输入-1结束程序
2
你输了
请输入(石头)1 (剪刀)2 (布)3,输入-1结束程序
3
你输了
请输入(石头)1 (剪刀)2 (布)3,输入-1结束程序
1
你赢了!
请输入(石头)1 (剪刀)2 (布)3,输入-1结束程序
1
你赢了!
请输入(石头)1 (剪刀)2 (布)3,输入-1结束程序
1
你输了
请输入(石头)1 (剪刀)2 (布)3,输入-1结束程序
2
你输了
请输入(石头)1 (剪刀)2 (布)3,输入-1结束程序
2
你赢了!
请输入(石头)1 (剪刀)2 (布)3,输入-1结束程序
3
你输了
请输入(石头)1 (剪刀)2 (布)3,输入-1结束程序
3
你输了
请输入(石头)1 (剪刀)2 (布)3,输入-1结束程序
3
你赢了!
请输入(石头)1 (剪刀)2 (布)3,输入-1结束程序
3
你输了
请输入(石头)1 (剪刀)2 (布)3,输入-1结束程序
-1
出错了,只能输入(石头)1 (剪刀)2 (布)3!
目前为止,你赢了4次


在java程序设计中,流程控制语句的类型有哪几种
这题只有三个答案吗?有没有全选?明确告诉你,if-else语句、while语句、for语句、switch语句都是控制Java程序的流程,如果没有给出全选的话,把这三个都选上。

给出一组数,判断是否为降序数,用java(控制语句)
循环对比,两个数减一下,如果其中一个小于0,则不为降序

java流程控制结构有哪些
switch语句 \/\/switch(表达式){ case 值1:语句体1; break;case 值2:语句体2; break;...default:语句体n+1; break;} 3. 循环结构 for循环 \/\/ for(初始化语句;判断条件语句;控制条件语句){ 循环体 } while循环 \/\/初始化语句 while(判断条件){循环语句;控制条件语句;} ...

Java基础代码示例
接下来,控制程序流程的循环语句是编程中的重要组成部分。for循环适用于已知循环次数的情况,while和do-while则基于条件进行循环,直到满足终止条件。在需要跳转到循环之外或内部时,break语句和continue语句发挥着关键作用,前者中断当前循环,后者跳过当前循环的剩余部分。函数返回值是Java程序设计的重要环节,...

java里while do{} while 和 for 语句 的用法 和不同方法的使用_百度知 ...
如果你学过C的话,用法就和C里的差不多了。for的用处比while更大,因为用for可以替代while,但是while却不一定可以代替for。循环: for,while和do Java中有三种循环控制语句,他们是:for语句、while语句和do语句,下面分别说明这三种语句的结构。1:for循环 for语句的格式为:for (初始化语句; 条件...

java语句类型
在Java中,一个语句是指一个过程的完整描述,就如流程图的一个环节。总的来说,java中语句的分类有六类:①方法调用语句 ②表达式语句 ③复合语句 ④空语句 ⑤控制语句 ⑥package语句和import语句。

java怎么实现控制台清屏语句
java怎么实现控制台清屏语句 Java没有清除Eclipse控制台语句 。直接在console控制台点击右键,点击clear就OK。

Java中的System.Out.println语句却不行,只能在log或者控制台看到输出...
System.Out.println 是输出到控制台的语句,若想在jsp显示,就需要使用<%=内容%>,或者<%out.println(内容) %>。

在Java程序的 switch流程控制语句中,可以省略且编译通过的子句是什么...
switch(表达式)\/\/这个表达式的结果只能是整形或者字符 即case 后面也只能是整形或表达式 你的程序中的结果却是 真假 的 那类型当然不匹配了

java项目中控制层controller可以拼写sql语句吗
Java把sql和service层的数据都写在controller层危害 之前认为把dao层和service逻辑层写在controller只会看起来很乱,可能会影响效率。

科尔沁右翼中旗19124894775: 做一个java剪刀石头 -
初胜温经: java剪刀石头游戏,可以使用scanner类接收控制端输入的数值,利用if-else语句进行判断,实例如下:import java.util.Scanner; class Person { int n = 0; public int input() { System.out.println("请输入:石头,剪刀,布"); Scanner sc = new ...

科尔沁右翼中旗19124894775: java做个游戏 1、石头,2剪刀,3布 -
初胜温经: public static void main(String[] args) {try {System.out.println("石头:1,剪子:2,布:3,请输入1或2或3.输入0游戏结束");char userInput;while((userInput=(char) System.in.read())!='0'){String result="";if(userInput=='1'){result="...

科尔沁右翼中旗19124894775: 急!用java编写一个石头剪子布的游戏. 电脑从1 - 3中选择一个任意数. (用数字代表石头剪子布) -
初胜温经: 给个提示,接收用户输入可以使用scanner类,随机产生数字使用random类,控制用户输入0

科尔沁右翼中旗19124894775: 求Java控制台输出的小程序! -
初胜温经: 我有个自己写的,基本同你的一样.纯自己写的.我的是1,2,3代替的,你稍微改下就行了 package com.derek; import java.util.HashMap; public class ComputerPerson { private int var; public ComputerPerson(int var){ this.var = var; } public String ...

科尔沁右翼中旗19124894775: java中从控制台让用户输入参数的语句是什么? -
初胜温经: java中从控制台让用户输入参数的语句的方式如下: 1、使用标准输入串System.in //System.in.read()一次只读入一个字节数据,而我们通常要取得一个字符串或一组数字 //System.in.read()返回一个整数 //必须初始化 //int read = 0; char read ...

科尔沁右翼中旗19124894775: 在java中运行石头剪刀布程序用户输入字符串程序运行后,每次光标都不是排在运行自动跳到最后一行? -
初胜温经: 控制台的光标?他本来就不会跳到后一行,你输入不方便?你可以直接输入,它自动会跳到下一行的

科尔沁右翼中旗19124894775: 用java编写程序 在控制台下实现单个整型数据的输入与输出 -
初胜温经: 输入用:new Scanner(System.in); 输出用:System.out.println(); 举例: import java.util.Scanner; public class Test { public static void main(String args[]) { int i,min,max; int A[] = new int[10]; Scanner input=new Scanner(System.in); System.out...

科尔沁右翼中旗19124894775: 如何用java在控制台上输出以下图形 -
初胜温经: number[i]=(int)Math.random(); 你这句就错了,你这样取出来永远都是0, public static void main(String[] args) { Random r = new Random();int[] number = new int[5];StringBuilder[] str = new StringBuilder[5];for (int i = 0; i < 5; i++) {number[i] = r....

科尔沁右翼中旗19124894775: JAVA怎么做到在控制台分行输入数据? -
初胜温经: 可以通过分隔符,比如6,30 20 10 60 90 23,只需要输入一个回车 输入6以后,scanner.next()不做任何处理,直到第二次回车

科尔沁右翼中旗19124894775: 如何用JAVA程序在控制台输出"我是一个JAVA程序"? -
初胜温经: 通过System.out.println的方式输出到控制台 定义A.java文件,并输出字符串 我是一个java程序 public class A{public static void main(String[] args) {//定义main方法System.out.println("我是一个JAVA程序");//输出我是一个JAVA程序到控制台} }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网