0

我正在学习 Java,并且一直致力于创建一个小计算器。我正在写一个可以让我输入任意数量的数字的东西,直到我按下等号,此时我希望计算器显示总数。

我认为扫描仪有问题,因为在调试时我只能Scanner input = new Scanner (System.in):在调试器中说找不到源。这真的很奇怪,尤其是当我在同一个项目中使用另一个类的两个扫描仪时完全没有问题。如您所知,我曾经在这篇文章中有 2 台扫描仪,但我读到这不应该工作,所以我现在正在使用一台。这是代码...

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

1 回答 1

0

您的代码的问题operative是未更新,并且可能=在第一次阅读后没有更新。因此,您的循环将不会退出,并且不会到达 print 语句。按照您的逻辑,您需要在循环中添加读取语句。我还建议使用switch, 将使您更具可读性和易于维护。

另请注意,在调试时,对于调试器无法检测到源的类,您将得到“找不到源”。可能您的 JDK 配置缺少源条目。如果您使用的是 Eclipse,请参阅此答案以获取有关修复 JDK 配置所需检查的详细信息。

于 2012-11-06T23:52:47.730 回答