java - 数学导师程序无法显示 "incorrect"

标签 java eclipse

package chapter5;
import java.util.Scanner;

public class Exercise5 {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int min = 1;
        int max = 10;
        int one = (int) (Math.random() * (max - min)) + min;
        int two = (int) (Math.random() * (max - min)) + min;
        int num = (int) (4* Math.random()+1); 
        char operator = 0; 

        switch (num) 
        { 
        case 1: operator = '+'; 
        break; 
        case 2: operator = '-'; 
        break; 
        case 3: operator = '*'; 
        break; 
        case 4: operator = '/'; 
        break;
        }
        System.out.println("What is " + one + " " + operator + " " + two + "?");
        double ans = 0;
        double ans1 = 0;
        ans = input.nextDouble();
        if (num == 1) {
            ans1 = one + two;
        } else {
            if (num == 2) {
                ans1 = one - two;
            } else {
                if (num == 3 ) {
                    ans1 = one * two;
                } else {
                    if (num == 4) {
                        ans1 = one / two;
                    }
                }
            }

        if (ans == ans1) {
            System.out.println("Correct!");
        } else {
            if (ans != ans1) {
                System.out.println("incorrect");
            }
          }

        }



    }

}

所以我试图创建一个应用程序来生成一个问题,并计算您的输入是否正确或不正确,到目前为止,从我的所有测试来看,当它正确时,它会显示正确的内容,但当它不正确时,应用程序将终止。

最佳答案

我稍微清理了你的代码,但无论如何它似乎都运行良好。也许您应该检查编辑器设置,看看程序执行完毕后输出控制台是否未清除。

package chapter5;
import java.util.Scanner;

public class Excercise5 {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int min = 1;
        int max = 10;
        int one = (int) (Math.random() * (max - min)) + min;
        int two = (int) (Math.random() * (max - min)) + min;
        int num = (int) (4 * Math.random()); 

        char operator = "+-/*".charAt(num); 

        System.out.println("What is " + one + " " + operator + " " + two + "?");

        double ans = 0;
        double ans1 = 0;

        ans = input.nextDouble();

        switch(num) {
            case 0:
            ans1 = one + two;
            break;
            case 1:
            ans1 = one - two;
            break;
            case 2:
            ans1 = one / two;
            break;
            case 3:
            ans1 = one * two;
            break;
        }

        if (ans == ans1) {
            System.out.println("Correct!");
        } else {
            System.out.println("Incorrect");
        }
    }
}

关于java - 数学导师程序无法显示 "incorrect",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37558453/

相关文章:

java - 使用 java + selenium WebDriver 获取一些文本

java - eclipse junit 差异窗口

eclipse - 在ubuntu的eclipse中安装软件遇到错误

java - 带有 m2e 插件的 Eclipse 本身可以解决依赖关系吗?

java - JAXB 中的元素选择

java - 需要在使用 android native 代码的 native react 中隐藏和禁用状态栏

android - 无法在 Eclipse 中设置断点

java - getResourceAsStream() 在 Eclipse 中返回 null,但并不总是返回 null

mysql - My SQL 和 Jasper 报表之间的集成

java - Scala 对象的序列化