首页 > 解决方案 > Java决策问题

问题描述

我用 Java 创建了一个小程序,但是当我尝试运行它时,编译器会给我以下消息:

bad operand types for binary operator '>'

另外,我无法理解其他消息的含义:

error: class Exercise1 is public, should be declared in a file named Exercise1.java

代码在以下几行中:

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

public class Exercise1 {

    public static void main(String[] args) {
        Random random = new Random();
        try (Scanner scan = new Scanner(System.in)) {
            // υλοποίηση της άσκησης
            int guess = 0;
            while (guess != random) {
                System.out.println("Δώσε έναν αριθμό μεταξύ 1 και 100:");
                guess = scan.nextInt();
                if (guess < random) {
                    System.out.println(guess + "είναι χαμηλό. Ξαναπροσπάθησε!");
                    System.out.println("Δώσε έναν αριθμό μεταξύ" + guess + "και" + random);
                } else if (guess > random) {
                    System.out.println(guess + "είναι υψηλό. Ξαναπροσπάθησε!");
                    System.out.println("Δώσε έναν αριθμό μεταξύ" + guess + "και" + random);
                } else {
                    System.out.println("Συγχαρητήρια!");
                }
                playAgain = scan.next();
            }
            while (playAgain.equalsIgnoreCase("y")) ;
            scan.close();
        }
    }
}

标签: javaif-statement

解决方案


random不是一个int。用于random.nextInt()生成随机值,并使用它。

Random randomGen = new Random();
int random = randomGen.nextInt(100) + 1; // <-- 1 to 100

然后您现有的代码应该按原样工作。


推荐阅读