Цель этой программы - сделать игру Rock Paper Scissors. Мне удалось сделать это, однако я не могу заставить его зациклиться, несмотря ни на что, что я пробую. Я пробовал:Условия Java Confusion? (Начинающий)
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!");
}
}
}
}
'в то время как (индекс
PS на данный момент в вашей программе 'index' всегда равен нулю, поэтому' index! = 0' всегда будет false, поэтому программа никогда не войдет в этот блок кода. Когда вы пытались «while (index = 0)», вы, вероятно, имели в виду «while (index == 0)), что сделало бы цикл игры бесконечно на данный момент. Вы должны понимать, что '=' является оператором присваивания (т. Е. Дает переменную значение), а '==' - это оператор сравнения равенства (т. Е. Тестирование - два значения одинаковы) в Java. –