簡體   English   中英

猜數字游戲不起作用

[英]number guessing game not working

顯然,根據自動化測試,我的代碼無法正常工作,並且無法通過我的解決方案,但是當我運行它時,它似乎可以正常工作。 我想知道我的代碼怎么了?:

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

public class GuessingNumberGame {

    public static void main(String[] args) {
        Scanner reader = new Scanner(System.in);
        int numberDrawn = drawNumber();

        int i = 1;
        boolean correct = false;

        while (correct == false) {

        System.out.print("Guess a number: ");
        int guess = Integer.parseInt(reader.nextLine());

        if (guess == numberDrawn) {
            System.out.println("Congratulations, your guess is correct!");
            correct = true;

        } else if (guess < numberDrawn) {
                    System.out.println("The number is lesser, guesses made: " + i);
                                i++;
                    } else if (guess > numberDrawn) {
                        System.out.println("The number is greater, guess made: " + i);
                                    i++;
        }
        }
    }

    // DO NOT MODIFY THIS!
    private static int drawNumber() {
        return new Random().nextInt(101);
    }
}

這是赫爾辛基大學在線Java課程的練習41,此處的練習詳細信息為: http : //mooc.cs.helsinki.fi/programming-part1/material-2013/week-2?noredirect=1#e41

我得到的錯誤是:

  • 如果猜測太小,程序應打印“數字更大”。
  • 如果猜測太大,程序應打印“數字較小”。
  • 如果繪制的數字是1,並且用戶輸入是0、1,則程序應首先打印“數字更大”,然后打印“恭喜,您的猜測是正確的!”
  • 如果繪制的數字是1,並且用戶輸入是2、1,則程序應首先打印“數字較小”,然后打印“恭喜,您的猜測是正確的!”

謝謝

你有簡單的邏輯錯誤

當數字較小時,應guess > numberDrawn或數字較大,應guess < numberDrawn

    if (guess == numberDrawn) {
         System.out.println("Congratulations, your guess is correct!");
         correct = true;
    } else if (guess > numberDrawn) {
                System.out.println("The number is lesser, guesses made: " + i);           
                i++;
    } else if (guess < numberDrawn) {
                System.out.println("The number is greater, guess made: " + i);           
                i++;
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM