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