当前位置:首页 » 编程语言 » 剪刀石头布java

剪刀石头布java

发布时间: 2022-10-03 22:28:36

A. 用java语言编写剪刀石头布,效果如下

public static void main(String[] args) {
System.out.println("游戏开始");
for (int i = 0; i < 3; i++) {
int r=((int) (Math.random()*3+1));//系统产生一个1-3的随机数
System.out.println("请输入数字1-3【1:剪刀 2:石头3:布】");
Scanner scan=new Scanner(System.in);
int q=scan.nextInt();//用户输入一个数字
if(q==r) System.out.println("平局");
if(q>r) System.out.println("你赢啦");
if(q<r) System.out.println("你输啦");
}
}

B. Java语言,用while循环编剪刀石头布的游戏

你在while外面声明一个变量int win_time = 0;
然后while里面每赢一次 win_time就+1,输一次win_time = 0;
再在你判断输赢那里插一段判断语句

if(win_time == 2){
break;//如果赢的次数是2了,就跳出循环
}
这样就可以实现连赢2次才跳出

补充一下,我说的输赢都是指用户的输赢

C. 用JAVA做一个剪刀,石头,布的人机猜拳游戏。

编写这个小游戏 我们需要几个类

1、第一个 Person 类

import java.util.Scanner;

/**

* @right 2018 sugarsLab.com All rights reserved.

* @author jingfei.wu

* @date 2018年11月16日

* @version 1.0

* @ClassName Person

* @description 用户类 用来计算用户输入

*/

public class Person {

public static final Person me = new Person();

private int n = 0;

/**

* @right 2018 sugarsLab.com All rights reserved.

* @author jingfei.wu

* @date 2018年11月16日

* @version 1.0

* @description 用户输入的 指令

* @return

*/

public int input() {

System.out.println("请输入:石头,剪刀,布 输入:@退出 退出系统");

@SuppressWarnings("resource")

Scanner scanner = new Scanner(System.in);

String s = scanner.next();

// s 里面存着 用户输入的 指令 切记这里不要使用 s.equals() 而是写 "指令".equals() 这么写 是为了避免空指针

if ("石头".equals(s)) {

n = 1;

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

n = 2;

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

n = 3;

} else if ("@退出".equals(s)) {

System.out.print("系统退出了");

System.exit(0);

}

return n;

}

}

2、Computer 类

/**

* @right 2018 sugarsLab.com All rights reserved.

* @author jingfei.wu

* @date 2018年11月16日

* @version 1.0

* @ClassName Computer

* @description 游戏中电脑类 用来产生随机数

*/

public class Computer {

public static final Computer me = new Computer();

/**

* @right 2018 sugarsLab.com All rights reserved.

* @author jingfei.wu

* @date 2018年11月16日

* @version 1.0

* @description TODO

* @return {int} 返回值为int 类型

*/

public int random() {return (int) (Math.random() * 3 + 1);}

}

3、Game类

/**

* @author jingfei.wu

* @date 2018年11月16日

* @version 1.0

* @ClassName Game

* @description 游戏类 用来计算游戏结果

*/

public class Game {

/**

* @author jingfei.wu

* @date 2018年11月16日

* @version 1.0

* @description 返回 人机交互结果

* @param n

* {int} 用户输入 的标识 石头 为 1 剪刀 为 2 布 为 3

* @param m

* {int} 电脑产生的随机数 石头 为 1 剪刀 为 2 布 为 3

*/

public void result(int n, Integer m) {

String res = "";

if (m.intValue() == 1)

res = "石头";

else if (m.intValue() == 2)

res = "剪刀";

else

res = "布";

if (n == m) {

System.out.println("平了 computer出" + res);

} else {

if (m == 1) {

if (n == 2)

System.out.println("你输了 computer出 " + res);

else if (n == 3)

System.out.println("你赢了 computer出 " + res);

} else if (m == 2) {

if (n == 1)

System.out.println("你赢了 computer出 " + res);

else if (n == 3)

System.out.println("你输了 computer出 " + res);

} else if (m == 3) {

if (n == 1)

System.out.println("你输了 computer出 " + res);

else if (n == 2)

System.out.println("你赢了 computer出 " + res);

}

}

}

public static void main(String[] args) {

while (true) {

Game gamer = new Game();

gamer.result(Person.me.input(), Computer.me.random());

}

}

}

如下是程序运行截图

D. 在百度知道上找到了网友的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;
}
}

E. java语言,用while循环编辑游戏剪刀石头布,系统或者用户连续赢2次,循环结束

把循环改成这样试试看
将:while(win_time1 !=2&&win_time2!=2)
改为:
while(1)
{
if((win_time1 == 2) || (win_time2 == 2) break;
//其他代码
}

F. java语言,用while循环编辑游戏剪刀石头布,系统或者用户连续赢2次,循环结束

定义一个int变量,每次赢之后变量加1,判断检查这个变量是否=2,如果true,循环结束,如果false,继续,而且变量再次变成0!

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

importjava.util.Random;
importjava.util.<ahref="https://www..com/s?wd=Sc&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-"target="_blank"class="-highlight">Sc</a>anner;

publicclassFingerGuessingGame{
privatestatic<ahref="https://www..com/s?wd=Sc&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-"target="_blank"class="-highlight">Sc</a>anner<ahref="https://www..com/s?wd=sc&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-"target="_blank"class="-highlight">sc</a>;
privatestaticRandomrad;
privatestaticfinalString[]FINGERS={"剪刀","石头","布"};
privatestaticintwin=0,loose=0,draw=0;

publicstaticvoidmain(String[]args){
sc=newScanner(System.in);
rad=newRandom();
while(true){
System.out.println("~~~~~~~~~~~~剪刀石头布游戏,输入E可以退出~~~~~~~~~~~");
System.out.println("请选择你要出什么?Z——剪刀,X——石头,C——布");
Stringcommand=sc.nextLine();
intplayerFinger=getValue(command);
if(playerFinger==-1){
break;
}elseif(playerFinger==3){
System.out.println("输入错误,请参考说明!");
continue;
}
System.out.println("你出的是"+FINGERS[playerFinger]);
intcpuFinger=rad.nextInt(3);
System.out.println("计算机出的是"+FINGERS[cpuFinger]);
intresult=playerFinger-cpuFinger;
if(0==result){
System.out.println("平局!");
draw++;
}elseif(-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));
}

privatestaticintgetValue(Stringcommand){
if(command.equalsIgnoreCase("E")){
return-1;
}
if(command.equalsIgnoreCase("Z")){
return0;
}
if(command.equalsIgnoreCase("X")){
return1;
}
if(command.equalsIgnoreCase("C")){
return2;
}
return3;
}
}

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

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

代码:

I. 剪刀石头布如何用java判断连胜

设置一个全局整型变量来记录连胜次数,初始设置为0,每第一次胜利赋值设置为1,再连胜一次则加1,失败则清零。最后判断这个值是否为0,为0则没有连胜,不为0则连胜。

J. 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+"次!");
}
}

热点内容
安卓上哪里下大型游戏 发布:2024-12-23 15:10:58 浏览:189
明日之后目前适用于什么配置 发布:2024-12-23 14:56:09 浏览:54
php全角半角 发布:2024-12-23 14:55:17 浏览:828
手机上传助手 发布:2024-12-23 14:55:14 浏览:732
什么样的主机配置吃鸡开全效 发布:2024-12-23 14:55:13 浏览:830
安卓我的世界114版本有什么 发布:2024-12-23 14:42:17 浏览:710
vbox源码 发布:2024-12-23 14:41:32 浏览:278
诗经是怎么存储 发布:2024-12-23 14:41:29 浏览:660
屏蔽视频广告脚本 发布:2024-12-23 14:41:24 浏览:419
php解析pdf 发布:2024-12-23 14:40:01 浏览:818