java剪刀石头布代码 石头剪刀布代码Java

在百度知道上找到了网友的java石头剪刀布游戏的代码,但是理解不来,希望大神能帮我把程序每句话都注释

public class Test {

泾县网站建设公司创新互联建站,泾县网站设计制作,有大型网站制作公司丰富经验。已为泾县上千多家提供企业网站建设服务。企业网站搭建\外贸网站制作要多少钱,请找那个售后服务好的泾县做网站的公司定做!

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();

//一进来就让用户输入开始游戏,直到输入E, 退出游戏。

while (true) {

System.out.println("~~~~~~~~~~~~剪刀石头布游戏,输入E可以退出~~~~~~~~~~~");

System.out.println("请选择你要出什么?Z——剪刀,X——石头,C——布");

//获取用户输入的字符

String command = sc.nextLine();

//输入字符转换 手势没发比较大小 就把字符转换成数字比较大小

int playerFinger = getValue(command);

if (playerFinger == -1) {//用户输入的是E == -1 表示退出

break;

}

else if (playerFinger == 3) {//用户输入的是 E Z X C 之外的字符 == 3 表示输入的不是合法的,然后继续让用户重新输入

System.out.println("输入错误,请参考说明!");

continue;

}

//当用户输入 ZXC 中的字符时才会到这一步

//用户的输入转换成了 0,1,2

//finger[0]="剪刀" finger[1]="石头" finger[2]="布" 程序第一行定义好的

System.out.println("你出的是" + FINGERS[playerFinger]);

//生成随机整数 3以内的(1,2,3)

int cpuFinger = rad.nextInt(3);

//finger[0]="剪刀" finger[1]="石头" finger[2]="布" 程序第一行定义好的

System.out.println("计算机出的是" + FINGERS[cpuFinger]);

//比较两个数字,你可以理解 0 就是剪刀,1是石头 2 是布

int result = playerFinger - cpuFinger;

if (0 == result) {//结果等于零说明两个数字一样

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

draw++;

}

else if (-1 == result || 2 == result) {// 0-1=-1,1-2=-1,2-0=2 表示你输的三种情况 ;0 就是剪刀,1是石头 2 是布

System.out.println("你输了!");

loose++;

}

else {//剩下的情况除了平局,输局 肯定就是你赢了

System.out.println("你赢了!");

win++;

}

}

System.out.println("游戏结束!\r\n游戏统计次数");

System.out.println(String.format("赢:%d\r\n输:%d\r\n平局:%d", win, loose, draw));

}

/**

* 用户输入字符进行转换

* 输入字符 E 就返回-1 作为后续判断,表示退出程序

* 输入字符 Z 返回 0 代表剪刀

* 输入字符 X 返回 1 代表石头

* 输入字符 C 返回 2 代表布

* 输入其他字符 返回3 ,表明输入的不是符合规则的手势(0,1,2)

*

* @param command

* @return

*/

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;

}

}

java代码猜拳游戏相关代码请教

comp是电脑产生的随机数字(电脑出的拳),people 是人出的拳。 因为剪刀石头布只有 1 2 3

。如果电脑的数字比的你刚好大1,就是它比你的大。 如21,32对应就是(石头大于剪刀,布大于石头)。 但也有可能是剪刀大于布 。 那么剪刀的位子是1 ,布的位子是3. 所以当电脑数字减你的数字等于2时 就是(电脑出的布 ,你出的石头这样的情况了)。

所以是if((comp-people)==-1||(comp-people)==2) 这两者结合就是你赢的时候

如何用JAVA设计一个游戏,电脑和人玩剪刀石头布游戏,并且能显示游戏结果?

写了一下,结果输出到桌面上,你把文件输出路径改成你的桌面路径就可以了,不知道你要不要最终结果

代码:

package com.hmall;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileWriter;

import java.io.IOException;

import java.util.ArrayList;

import java.util.List;

import java.util.Random;

import java.util.Scanner;

/**

* @ClassName Mora

* @Description TODO

* @Author dell

* @Date 2019/7/1 13:03

* @Version 1.0

**/

public class Mora {

private static String calculate(String input) {

ListString list = new ArrayList();

list.add("拳头");

list.add("剪刀");

list.add("布");

Random r = new Random();

Integer random = r.nextInt(3);

String temp = list.get(random);

if (temp.equals(input)) {

return "您出了" + input + ",电脑出了" + temp + ",结果为平局";

} else {

if (input.equals("拳头")) {

if (temp.equals("剪刀")) {

return "您出了" + input + ",电脑出了" + temp + ",结果为您赢了";

} else {

return "您出了" + input + ",电脑出了" + temp + ",结果为您输了";

}

} else if (input.equals("剪刀")) {

if (temp.equals("拳头")) {

return "您出了" + input + ",电脑出了" + temp + ",结果为您输了";

} else {

return "您出了" + input + ",电脑出了" + temp + ",结果为您赢了";

}

} else if (input.equals("布")) {

if (temp.equals("拳头")) {

return "您出了" + input + ",电脑出了" + temp + ",结果为您赢了";

} else {

return "您出了" + input + ",电脑出了" + temp + ",结果为您输了";

}

} else {

return "输入数据有误";

}

}

}

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

Integer count;

while (true) {

System.out.println("请输入比赛场次(不能小于5):");

count = scanner.nextInt();

if (count = 5) {

System.out.println("比赛开始");

break;

}

System.out.println("输入小于5,请重新输入");

}

String input;

File f = new File("C:\\Users\\dell\\Desktop\\result.txt");

try {

BufferedWriter bw = new BufferedWriter(new FileWriter(f));

for (int i = 0; i count; i++) {

System.out.println("请输入您的选择:");

input = scanner.next();

String result = calculate(input);

bw.write(result);

bw.newLine();

System.out.println(result);

}

bw.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

结果:

请用java编写一个石头剪刀布的程序

import java.util.Random;

import java.util.a href=";tn=44039180_cprfenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YLuHn1rjm4njbLmHKbm1PB0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3ErHD4rj6krH0Yn1f1nWbvnHT4" target="_blank" class="baidu-highlight"Sc/aanner;

public class FingerGuessingGame {

private static a href=";tn=44039180_cprfenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YLuHn1rjm4njbLmHKbm1PB0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3ErHD4rj6krH0Yn1f1nWbvnHT4" target="_blank" class="baidu-highlight"Sc/aanner a href=";tn=44039180_cprfenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YLuHn1rjm4njbLmHKbm1PB0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3ErHD4rj6krH0Yn1f1nWbvnHT4" target="_blank" class="baidu-highlight"sc/a;

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("游戏结束!\r\n游戏统计次数");

System.out.println(String.format("赢:%d\r\n输:%d\r\n平局:%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;

}

}

java 剪刀石头布 这个游戏怎么用数组来实现,我把脑壳都想破了

import java.util.*;

public class Exam

{

public static void main(String[] args)

{

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

String guess;

int youwin=0,mewin=0,daping=0,total=0,n;

Random r=new Random();

Scanner sc=new Scanner(System.in);

while(true)

{

n=r.nextInt(3);

System.out.print("石头、剪刀、布,我已出,请你出(输入exit退出循环):");

guess=sc.nextLine();

if(guess.equals("exit"))

{

break;

}

else

{

total++;

System.out.print("这一次你出的是"+guess+",我出的是"+cq[n]+",所以");

if(guess.equals("石头")1==n || guess.equals("剪刀")2==n || guess.equals("布")0==n)

{

youwin++;

System.out.println("你赢了!");

}

else if(guess.equals(cq[n]))

{

daping++;

System.out.println("我们打平了!");

}

else

{

mewin++;

System.out.println("我赢了!");

}

}

}

System.out.println("总共玩了"+total+"次,你赢了"+youwin+"次,我赢了"+mewin+"次,打平"+daping+"次!");

}

}


本文标题:java剪刀石头布代码 石头剪刀布代码Java
转载注明:http://ybzwz.com/article/hjsgsj.html