Java语言编写一个石头剪子布的程序的时候怎么再编写一个裁判程序判断输入的双方的胜负是什么?这么编写代码需要用到什么语句
Scanner scanner = new Scanner(System.in);
System.out.println("玩家1的选择(1代表石头,2代表剪子,3代表布):");
int player1Choice = scanner.nextInt();
System.out.println("玩家2的选择(1代表石头,2代表剪子,3代表布):");
int player2Choice = scanner.nextInt();
if (player1Choice == player2Choice) {
System.out.println("平局");
} else if ((player1Choice == 1 && player2Choice == 2) ||
(player1Choice == 2 && player2Choice == 3) ||
(player1Choice == 3 && player2Choice == 1)) {
System.out.println("玩家1获胜");
} else {
System.out.println("玩家2获胜");
}
}
要编写一个裁判程序来判断输入的双方的胜负是什么,可以使用Java语言中的if语句和switch语句来实现。下面是一个简单的石头剪子布游戏的裁判程序示例:
import java.util.Scanner;
public class Judge {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int p1 = 0, p2 = 0;
while (true) {
System.out.println("Please input the number of player 1 and player 2:");
System.out.print("Player 1: ");
p1 = scanner.nextInt();
// 获取玩家1的选择
System.out.print("Player 2: ");
p2 = scanner.nextInt(); // 获取玩家2的选择
// 判断胜负
if (p1 == 3 && p2 == 1 || p1 == 1 && p2 == 3) {
System.out.println("It's a tie!");
} else if ((p1 == 1 && p2 == 2) || (p1 == 2 && p2 == 1)) {
System.out.println("Player 1 wins!");
} else if ((p1 == 2 && p2 == 3) || (p1 == 3 && p2 == 2)) {
System.out.println("Player 2 wins!");
} else {
System.out.println("It's a draw!");
}
}
}
}
在上面的代码中,首先定义了一个Scanner对象,用于读取用户输入的数字。然后进入一个无限循环,每次循环都会提示玩家输入他们的选择,并获取玩家的选择。接下来,使用if语句和switch语句来判断胜负。如果玩家1选择了1,玩家2选择了3,或者玩家1选择了3,玩家2选择了1,那么认为这是平局,输出"It's a tie!"。如果玩家1选择了2,玩家2选择了1,或者玩家1选择了1,玩家2选择了2,那么认为玩家1赢了,输出"Player 1 wins!"。如果玩家1选择了2,玩家2选择了3,或者玩家1选择了3,玩家2选择了2,那么认为玩家2赢了,输出"Player 2 wins!"。否则,认为这是一场平局,输出"It's a draw!"。最后,使用break语句退出循环。
请注意,这只是一个简单的示例程序,实际的石头剪子布游戏需要更复杂的逻辑来判断胜负。
不知道你这个问题是否已经解决, 如果还没有解决的话:题目:
用 JAVA 语言设计如下界面的石头剪刀布游戏。游戏的一方点击界面上石头、剪刀、布按钮,游戏的另一方计算机随机选择,然后给出游戏结果。
Java:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
@SuppressWarnings("serial")
public class TestOne extends JFrame implements ActionListener{
// 定义石头剪刀布的 JButton 对象
JButton jiandao, shitou, bu, clear;
JPanel panel2, panel1;
JLabel label;
// 主函数
public static void main(String[] args) {
TestOne frame = new TestOne();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置窗体关闭按钮
frame.setVisible(true); // 使窗体可见
}
// 设置窗体
public TestOne() {
setTitle("石头剪刀布游戏"); // 石头剪刀布游戏
setLocation(250, 250); // 设置窗体坐上顶点坐标
setSize(300, 300); // 设置窗体大小。窗体大小 : 350X350
// 建立对象
panel1 = new JPanel();
panel1.setBackground(Color.yellow);
shitou = new JButton("石头");
jiandao = new JButton("剪刀");
bu = new JButton("布");
clear = new JButton("清空");
panel2 = new JPanel();
panel2.setBackground(Color.green);
label = new JLabel("选择剪刀, 石头, 布开始游戏");
// 给所有 JBUtton 对象添加事件约束
// 给事件添加监听器
shitou.addActionListener(this);
jiandao.addActionListener(this);
bu.addActionListener(this);
clear.addActionListener(this);
// 把所有的新添加的对象都放进去窗体里面,先放进组件类,再放进窗体类
panel1.add(shitou);
panel1.add(jiandao);
panel1.add(bu);
panel1.add(clear);
panel2.add(label);
add(panel1, BorderLayout.NORTH);
add(panel2, BorderLayout.CENTER);
}
// 事件响应器
public void actionPerformed(ActionEvent e) {
if(e.getSource() == shitou) {
int i = ((int)(Math.random()*10))%3;
switch(i) {
case 0:
label.setText("你出石头,电脑出石头,平局!");
break;
case 1:
label.setText("你出石头,电脑出剪刀,恭喜你赢了!");
break;
case 2:
label.setText("你出石头,电脑出布,很遗憾你输了!");
break;
}
}else if(e.getSource() == jiandao){
int i = ((int)(Math.random()*10))%3;
switch(i) {
case 0:
label.setText("你出剪刀,电脑出石头,很遗憾你输了!");
break;
case 1:
label.setText("你出剪刀,电脑出剪刀,平局!");
break;
case 2:
label.setText("你出剪刀,电脑出布,恭喜你赢了!");
break;
}
}else if(e.getSource() == bu){
int i = ((int)(Math.random()*10))%3;
switch(i) {
case 0:
label.setText("你出布,电脑出石头,恭喜你赢了!");
break;
case 1:
label.setText("你出布,电脑出剪刀,很遗憾你输了!");
break;
case 2:
label.setText("你出布,电脑出布,平局!");
break;
}
}else if(e.getSource() == clear) {
label.setText("选择剪刀, 石头, 布开始游戏!");
}
}
}
运行结果: