導航:首頁 > 編程語言 > java石頭剪刀布

java石頭剪刀布

發布時間:2023-05-19 08:03:08

A. java課後作業一~石頭剪刀布的問題

importjava.util.Scanner;


publicclassEasyGame或鎮{

/**

*關於類及屬性的許可權問題請自行考慮設置,目前僅供參考

*/

inti;//循環索引

intn;//n輪

intna;//小a出拳周期長度

intnb;//小b出拳周期長度

int[]naArr;//小a出拳規律

int[]nbArr;//小b出拳規律

intwhoWin;//0為平手,大於0小a贏,小於0小b贏

Scanner衫禪粗sc=newScanner(System.in);


publicvoidinit(){

//System.out.ptintln("如有需要可在此自行添加友好提示");

n=sc.nextInt();//初始化出拳輪數

na=sc.nextInt();//初始化小a出拳周期長度

nb=sc.nextInt();//初始化小b出拳周期長度

initA();//初始化小a出拳規律

initB();//初始化小b出拳規律

}


publicvoidinitA(){

//System.out.ptintln("如有需要可在此自行添加友好提示");

naArr=newint[na];

for(i=0;i<na;i++){

naArr[i]=sc.nextInt();

}

}


publicvoidinitB(){

//System.out.ptintln("如有需要可在此自行添加友好提示");

nbArr=newint[nb];

for(i=0;i<nb;i++){

nbArr[i]=sc.nextInt();

}

}


publicvoidshowResult(){

//System.out.ptintln("如有需要可在此自行添加友好提示");

whoWin=0;//默認為平手

for(i=0;i<n;i++){

//System.out.println(naArr[i%na]+","+nbArr[i%nb]+";");

switch(naArr[i%na]-nbArr[i%nb]){

case-5://石頭,布

whoWin--;

break;

case-3://剪刀,布

whoWin++;

break;

case-2://石頭,剪刀

whoWin++;

break;

case2://剪刀,石頭

whoWin--;

break;

case3://布,剪刀

whoWin--;

break;

case5://布,石頭

whoWin++;

break;

default:

;

break;

}

}

if(whoWin>0){

System.out.println("A");

}elseif(whoWin==0){

System.out.println("B");

}else{

System.out.println("draw");

}

}


publicstatic襲空voidmain(String[]args){

//若需程序一直運行,可自行添加循環及條件

EasyGameeGame=newEasyGame();

eGame.init();

eGame.showResult();

}

}

試了可以哦,記得採納

B. 如何用JAVA設計一個游戲,電腦和人玩剪刀石頭布游戲,並且能顯示游戲結果

寫了一下,結果輸出到桌面上,你把文件輸出路徑改成你的桌面路徑就可以了,不知道你要不要最終結果

代碼:

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問題問一下,以下代碼錯在哪,拍拖大仙在eclipse運行下,幫忙找錯,是個猜石頭剪刀布化簡的代碼

1、29 行疑似中文輸入法的括弧

2、大括弧需要成對出坦團返現, 圖中明顯缺少括弧

※讓飢或首 注: 僅供參考!

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

F. 做一個java剪刀石頭

java剪刀石頭游戲,可以使用scanner類接收控制端輸入的數值,利用if-else語句進行判斷,實例如下:

importjava.util.Scanner;

classPerson{
intn=0;
publicintinput(){

System.out.println("請輸入:石頭,剪刀漏歷,布");

Scannersc=newScanner(System.in);

Strings=sc.next();
if(s.equals("石頭")){
n=1;
}elseif(s.equals("剪刀")){
n=2;
}elseif(s.equals("布")){
n=3;
}elseif(s.equals("exit")){
System.out.print("系統退出了");
System.exit(0);
}

returnn;

}

}

classComputer{
publicintrandom(){
inth=(int)(Math.random()*3+1);
returnh;
}

}

publicclassGame{
publicvoidresult(intn,intm){
if(n==m){
System.out.println("平了");
}else{
if(m==1){
if(n==2){
System.out.println("你輸了");
}elseif(n==3){
System.out.println("你贏了");
}
}elseif(m==2){
if(n==1){
System.out.println("你贏了");
}elseif(n==3){
System.out.println("你輸了");
}

}elseif(m==3){
if(n==1){
System.out.println("你輸了");
做譽}elseif(n==2){
System.out.println("你贏了");
}
}
}

}

publicstatic返胡搜voidmain(String[]args){
while(true){
Personp=newPerson();
Computerc=newComputer();
Gameg=newGame();
g.result(p.input(),c.random());

}
}
}

G. 用java編一個程序,實現兩個人玩「石頭、剪刀、布」,要求用枚舉類型定義石頭、剪刀、布

publicclassTest{
publicenumHand{//猜拳枚舉
ROCK,SCISSORS,PAPER;
publicstaticHandgetHand(intindex){
Handhand=null;
switch(index){
case0:
hand=Hand.ROCK;
break;
case1:
hand=Hand.SCISSORS;
break;
case2:
hand=Hand.PAPER;
break;
default:
hand=Hand.ROCK;
break;
}
returnhand;
}
}

publicstaticvoidmain(String[]args){
//兩個人猜拳5次
for(inti=0;i<5;i++){
Handhand1=Hand.getHand((int)(Math.random()*3));
Handhand2=Hand.getHand((int)(Math.random()*3));
judge(hand1,hand2);
}

}

privatestaticvoidjudge(Handhand1,Handhand2){
if(hand1==Hand.ROCK){
if(hand2==Hand.ROCK){
System.out.println("第一個出拳頭,第二個出拳頭,平局");
}elseif(hand2==Hand.SCISSORS){
System.out.println("第一個出拳頭,第二個出剪刀,第一個贏");
}elseif(hand2==Hand.PAPER){
System.out.println("第一個出拳頭,第二個出布,第二個贏");
}
}elseif(hand1==弊謹Hand.SCISSORS){
if(hand2==Hand.ROCK){
System.out.println("第一個出剪刀,第二個出拳頭,第二個贏");
}elseif(hand2==Hand.SCISSORS){
System.out.println("第一個出剪刀,第二個出剪刀,平局");
}elseif(hand2==Hand.PAPER){
System.out.println("第一個出剪刀,第二個出布,第一個贏");
}
}elseif(hand1==Hand.PAPER){
if(hand2==Hand.ROCK){
System.out.println("第一個租遲基出布,第二個出拳頭,第一個贏");
}elseif(hand2==Hand.SCISSORS){
System.out.println("第一個出布,第二個出剪刀,第二個贏");
}elseif(hand2==Hand.PAPER){
System.out.println("第一個出布,第二個出布,平局");
}
}
}
}

應該不是最優解決辦法,先旦侍這么著把

閱讀全文

與java石頭剪刀布相關的資料

熱點內容
pr怎麼壓縮文件大小 瀏覽:859
查看oracle字元集命令 瀏覽:175
鋰電池增加密度 瀏覽:657
linux用戶密碼忘記 瀏覽:240
gb壓縮天然氣 瀏覽:633
圖片拼接不壓縮app 瀏覽:668
我的世界如何編程 瀏覽:84
vue反編譯代碼有問題 瀏覽:948
linuxshell字元串連接字元串 瀏覽:51
androidviewpager刷新 瀏覽:438
python編程計算平均分 瀏覽:678
加密數字貨幣市值查詢 瀏覽:692
時尚商圈app怎麼樣 瀏覽:584
stacklesspython教程 瀏覽:138
用命令行禁用135埠 瀏覽:212
linux防火牆編程 瀏覽:627
pdf閱讀器刪除 瀏覽:979
考研人如何緩解壓力 瀏覽:822
買電暖壺哪個app便宜 瀏覽:505
洛克王國忘記伺服器了怎麼辦 瀏覽:782