Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 数学家教程序不会显示“;“不正确”;_Java_Eclipse - Fatal编程技术网

Java 数学家教程序不会显示“;“不正确”;

Java 数学家教程序不会显示“;“不正确”;,java,eclipse,Java,Eclipse,因此,我尝试创建一个应用程序,生成一个问题,并计算您的输入是否正确,而不是我的所有测试,当输入正确时,显示正确的内容,但当输入不正确时,应用程序终止 我把你的代码清理了一点,但不管怎样,它都运行得很好。也许您应该检查编辑器设置,看看输出控制台在程序执行完毕时是否没有清除 package chapter5; import java.util.Scanner; public class Exercise5 { public static void main(String[] args)

因此,我尝试创建一个应用程序,生成一个问题,并计算您的输入是否正确,而不是我的所有测试,当输入正确时,显示正确的内容,但当输入不正确时,应用程序终止

我把你的代码清理了一点,但不管怎样,它都运行得很好。也许您应该检查编辑器设置,看看输出控制台在程序执行完毕时是否没有清除

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 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");
            }
          }

        }



    }

}

提示:请尝试打印出
ans
ans1
以查看差异。正确地格式化您的代码,您将自己找到原因。如果在else之后或内部使用
,则不必使用
。例如,在检查答案是否正确的部分,您不需要在
else
块中使用
if(ans!=ans1)…
。由于您首先检查它们是否相等,因此
else
关键字会自动设置它们是否相等的条件。如果删除else块中不必要的if语句,可以消除程序中的大量冗余代码。这将使您更容易阅读和浏览代码。提示:尝试打印出
ans
ans1
以查看差异正确格式化代码,您将自己找到原因。如果在else之后或内部使用
,则无需使用
。例如,在检查答案是否正确的部分,您不需要在
else
块中使用
if(ans!=ans1)…
。由于您首先检查它们是否相等,因此
else
关键字会自动设置它们是否相等的条件。如果删除else块中不必要的if语句,可以消除程序中的大量冗余代码。这将使你更容易阅读和浏览你的代码。同样,OP草率的编码风格不仅仅是隐藏问题,而是问题所在。通过清理代码,您意外地修复了隐藏在所有那些放错大括号中的逻辑错误。同样,OP的草率编码风格不仅仅是隐藏了问题,而是问题所在。通过清理代码,您意外地修复了隐藏在所有放错大括号中的逻辑错误。