Программа не запустится после ввода в drJava

Я довольно новичок в программировании и у меня проблемы с программой, которую я придумал. Это игра в угадывание, пользователь должен угадать сгенерированное случайное число, и у вас есть 6 шансов. К сожалению, я не совсем понимаю, что не так с программой. Каждый раз, когда я пытаюсь ввести "Да" для запуска программы, ничего не происходит. Ниже приведен код, пожалуйста, дайте мне знать, что я делаю не так.

import java.util.Scanner;
import java.util.Random;

public class Project4{
  public static void main(String[] args){
    Scanner input = new Scanner(System.in);
    System.out.println("Would you like to play a game? (Yes or No)");
    String a1 = input.next().toLowerCase();
    while(a1.equals("Yes")){
               Random secretnum = new Random();
      int num;
      for(int counter=0; counter<2; counter++){
        num = 1+secretnum.nextInt(99);  
      System.out.println("You have 6 chances to guess the secret number");
        System.out.println("Player : guess a number between 1 and 100");
        int num1 = input.nextInt();
        while(num1 != num){
          for(int i = 6; i < 0; i--){
            if(num1 < num){
              System.out.println("Sorry," + num1 + "is too low");
              System.out.println("You have" + i + "strikes left");
            }else{
              if(num1 > num){
                System.out.println("Sorry," + num1 + "is too high");
                System.out.println("You have" + i + "strikes left");
              }
            }
            if(num1 == num){
            System.out.println("Correct! The secret number was" + secretnum);
          }
        }
        if(num1 < 0 || num1 > 100){
          for(int i = 6; i < 0; i--){
          System.out.println("You were supposed to enter a number between 1 and 100");
          System.out.println("You have" + i + "strikes left");

          }
        }
      }
    }
    if(a1.equals("No"));
    System.out.println("Goodbye");
  }
   input.close();
}
}

1 ответ

Ваша проблема здесь:

String a1 = input.next().toLowerCase();
while(a1.equals("Yes")){

Первая строка переводит любой ввод в нижний регистр и сохраняет результат этой операции в a1.

Вторая строка проверяет, равен ли a1 "Да". Подсказка: строчная строка вряд ли когда-либо будет равна "Y es" ". Вот и весь смысл в том, чтобы вводить строчные символы в начале!

Реальный ответ здесь: когда вы не знакомы с тем, что делают такие звонки, изучите их Javadoc!

Другие вопросы по тегам