这道猜拳题怎么弄啊,小弟刚学到java常用类。求各位大神帮忙

2025-05-18 23:33:48
推荐回答(2个)
回答1:

lz你好


具体代码如下:

import java.math.*;

import java.util.*;

public class GuessFist

{

private int

user,

computer;

public GuessFist()

{

user = 0;

computer = 0;

}

public void setUser()

{

Scanner in = new Scanner(System.in);

System.out.print ("该您出拳\n(1代表剪刀,2为石头,3为布)\n:");

user = in.nextInt();

}

public int getUser()

{

return user;

}

public void setComputer()

{

computer = (int)(Math.random() * 3 + 1);

}

public int getComputer()

{

return computer;

}

public String toString()

{

if(((user+1) % 3) < ((computer+1) % 3))

{

return "电脑出"+computer+"\n你输了>.<";

}

else if(user == computer)

{

return "电脑也是出的"+computer+"\n打平";

}

else

{

return "电脑出"+computer+"\n你赢了^_^";

}

}

public static void main(String[] args)

{

GuessFist g = new GuessFist();

g.setComputer();

g.setUser();

System.out.println (g);

}

}


运行结果:


ps:lz注意要把类文件名写为:GuessFist.java


希望能帮助你哈

回答2:

import java.util.Random;
import java.util.Scanner;
public class Test
{
public static void main(String[] args) {
Random random = new Random();
System.out.println("开始游戏......");
Scanner scanner = new Scanner(System.in);
int computer = 0;
while(true)
{
System.out.print("电脑出:");
sleep();
computer = random.nextInt(3) + 1;
System.out.println(getName(computer));
System.out.print("请出拳:\n 1.剪刀;\n 2.石头;\n 3.布;\n 你出:");
sleep();

try
{

int youNum = scanner.nextInt();
if(youNum >=1 && youNum <=3)
{
System.out.println("你出的是:" + getName(youNum));
sleep();
int result = isYouWin(computer, youNum);
if(result == -1)
{
System.out.println("悲剧!你输了");
}
else if(result == 0)
{
System.out.println("以和为贵,以和为贵!");
}
else if(result == 1)
{
System.out.println("恭喜恭喜,You Win!");
}
}
else
{
System.out.println("别耍赖,你乱出!");
}
}
catch(Exception e)
{
System.out.println("别耍赖,你乱出!");
}
System.out.print("继续游戏?n/退出,任意键继续:");
if("n".equals(scanner.next()))
{
System.out.println("退出游戏!");
System.exit(1);
}
System.out.println("------------------------");
}

}
static int isYouWin(int computer, int youNum)
{
switch(computer)
{
case 1 :
switch (youNum) {
case 1:
return 0;
case 2:
return 1;
case 3:
return -1;
default:
break;
}
break;
case 2 :
switch (youNum) {
case 1:
return -1;
case 2:
return 0;
case 3:
return 1;
default:
break;
}
break;
case 3 :
switch (youNum) {
case 1:
return 1;
case 2:
return -1;
case 3:
return 0;
default:
break;
}
break;
}
return 0;
}
static void sleep()
{
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
static String getName(int cmd)
{
String name = null;
switch (cmd) {
case 1:
name = "剪刀";
break;
case 2:
name = "石头";
break;
case 3:
name = "布";
break;
default:
break;
}
return name;
}
}