这个项目的目的是制作一个Rock Paper Scissors游戏。我已成功制作它,但无论我尝试什么,我都无法循环。我试过了:
while (index = 0)
while (index < gamesCount)
然而,虽然我的索引是0而我的条件是while (index != 0)
,但它似乎是运行程序的唯一条件,但它不会循环。如何让我的游戏循环?
import java.util.Scanner;
import java.util.Random;
public class RockPaperScissors {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
Random randomGen = new Random();
//Variables
String player1;
int cpu;
int start = 1;
int end = 3;
int index = 0;
// 1 = Rock | 2 = Scissors | 3 = Paper
//Code
System.out.println("Welcome to Rock, Paper, Scissors!");
while (index != 0) {
System.out.print("Rock, Paper, or Scissors?: ");
player1 = in.nextLine();
cpu = randomGen.nextInt(3);
System.out.println(cpu);
if (player1.equals("Rock") && (cpu == 2)) {
System.out.println("You lose!");
} else if (player1.equals("Rock") && (cpu == 1)) {
System.out.println("You win!");
} else if (player1.equals("Rock") && (cpu == 0)) {
System.out.println("Draw!");
}
// --------------------
if (player1.equals("Scissors") && (cpu == 2)) {
System.out.println("Draw!");
} else if (player1.equals("Scissors") && (cpu == 1)) {
System.out.println("You win!");
} else if (player1.equals("Scissors") && (cpu == 0)) {
System.out.println("You lose!");
}
//---------------------
if (player1.equals("Paper") && (cpu == 2)) {
System.out.println("You lose!");
} else if (player1.equals("Paper") && (cpu == 1)) {
System.out.println("You win!");
} else if (player1.equals("Paper") && (cpu == 0)) {
System.out.println("Draw!");
}
}
}
}
答案 0 :(得分:1)
两个错误:
while (index != 0);
这是整个循环。它会在{}区块的末尾(您没有)或在第一个区域结束;这是在声明之后。
但要纠正这个问题,它仍然不会循环:
int index = 0;
// 1 = Rock | 2 = Scissors | 3 = Paper
//Code
System.out.println("Welcome to Rock, Paper, Scissors!");
while (index != 0);
index = 0,所以(index!= 0)永远不会返回true。
答案 1 :(得分:1)
您的索引变量设置为0。 你的while循环说
while (index != 0);
这意味着,当索引不为0时,运行我的代码。问题是您的代码永远不会运行,因为您的索引值始终为0。 尝试将其更改为其他值(例如5),现在应该可以正常工作。
:)
答案 2 :(得分:1)
你的索引变量设置为0. while循环的条件是,如果index不等于0,则执行循环中的代码。由于索引等于0,因此循环中的指令不会被执行。此外,您将需要更新循环中的索引变量,以便在满足您要查找的条件时,代码将停止循环。 即:
int gamesPlayed = 0;
int gamesRequested = 3; // or get this from the user
while (gamesPlayed < gamesRequested){
String player1Choice = in.nextLine();
if(!"".equals(player1)){
// your code
gamesPlayed++;
} else {
System.out.print("Rock, Paper, or Scissors?: ");
}
}