Java计算器使用扫描器,但控制台中不显示输出

Java计算器使用扫描器,但控制台中不显示输出,java,debugging,java.util.scanner,calculator,Java,Debugging,Java.util.scanner,Calculator,我正在学习Java,刚刚开始制作一个小计算器。我正在写一个允许我输入任意数字的函数,直到我按下等号,我希望计算器显示总数 我认为扫描仪有问题,因为调试时,我只得到scanner input=new scanner(System.in):在调试器中,它说找不到源代码。这真的很奇怪,尤其是当我在同一个项目中使用另一个类的两个扫描器时,一点问题都没有。正如你可以告诉我,我曾经有两个扫描仪在这一块,但我读到,这应该不工作,所以我现在使用一个。这是代码 package Calculator; impor

我正在学习Java,刚刚开始制作一个小计算器。我正在写一个允许我输入任意数字的函数,直到我按下等号,我希望计算器显示总数

我认为扫描仪有问题,因为调试时,我只得到
scanner input=new scanner(System.in):
在调试器中,它说找不到源代码。这真的很奇怪,尤其是当我在同一个项目中使用另一个类的两个扫描器时,一点问题都没有。正如你可以告诉我,我曾经有两个扫描仪在这一块,但我读到,这应该不工作,所以我现在使用一个。这是代码

package Calculator;

import java.util.Scanner;

public class Calculator3 {

    public static void main(String[] args) {

        Scanner input = new Scanner (System.in);
    //  Scanner opin = new Scanner (System.in);     
        String operative = input.next();        
        double numb = input.nextDouble();
        int answer = 0;
        int calc = 1;

        System.out.print("#######################################" + "\n");             
        while (operative.equalsIgnoreCase("="))
            {
            System.out.print("Interger " + calc + " :");
            System.out.print("Type your Operative :");
            if (operative.equals("+")) 
                answer += numb;
            {
                if (operative.equals("-")) 
                    answer -= numb;
                    {
                        if (operative.equals("/")) 
                            answer /= numb;
                            {
                                if (operative.equals("*")) 
                                    answer *= numb;
                                {
                                }
                            }
                    }
            }
        calc += 1;  
            }
        System.out.print("#######################################" + "\n");     
        System.out.println("Your answer is: " + answer + ".");
}
}

代码的问题是,
操作
没有更新,并且在第一次读取后可能没有更新。因此,您的循环将不会退出,也不会到达print语句。按照您的逻辑,您需要在循环中添加read语句。另外,我建议使用
开关
,这将使您的应用程序更易于阅读和维护


还请注意,在调试时,对于调试器无法检测源的类,您将获得“找不到源”。可能您的JDK配置缺少源条目。如果您使用的是Eclipse,请参阅本页,了解修复JDK配置需要检查哪些内容的详细信息。

您可能正在尝试介入,因此它会抱怨,因为它无法找到
扫描仪
系统
)的源代码,而调试时您应该跳过。请花点时间阅读switch/case语句。它将帮助你收紧代码。