做一个简单的计算器,但我需要添加一些东西

珍妮特·李(Jeanette Lee):

我为Java分配做了一个非常简单的计算器,但是当用户输入一个非数字时,我陷入了需要添加文本的部分。我需要在其中添加什么?需要在哪里添加它才能起作用?我尝试了多种在Internet上搜索的方法,但是似乎都没有。

从技术上讲,这种方式有效,但是由于某种原因,它前后总是带有红色文本。

public class MySwitchExample {
    public static void main(String[] args) {
        char operator;
        double num1;
        double num2;
        double result;
        
    
        Scanner s= new Scanner(System.in);
        System.out.print("Enter operator (either +, -, * or /): ");
        operator= s.next().charAt(0);
        
        System.out.print("Enter number 1 and number 2: ");
          try {
              num1= Double.parseDouble(s.next());
              num2= Double.parseDouble(s.next());
           } catch (NumberFormatException e) {
              // Double.parseDouble has changed specs several times, so fall through
              // gracefully
              e.printStackTrace();
              System.out.print("You entered text as a number: ");
              return;
           }
      
        
                 switch (operator) {
        
                    // performs addition between numbers
                    case '+':
                        result = num1 + num2;
                        System.out.print(num1 + "+" + num2 + " = " + result);
                        break;
            
                        // performs subtraction between numbers
                    case '-':
                        result = num1 - num2;
                        System.out.print(num1 + "-" + num2 + " = " + result);
                        break;
            
                        // performs multiplication between numbers
                    case '*':
                        result = num1 * num2;
                        System.out.print(num1 + "*" + num2 + " = " + result);
                        break;
                        // performs division between numbers
                    case '/':
                        result = num1 / num2;
                        System.out.print(num1 + "/" + num2 + " = " + result);
                        break;
                        
                        
            
                    default:
                        System.out.println("Invalid operator!");
                        break;
                    
        }
      }
    }
Giulio_B:

您可以使用scanner.nextDouble()直接读取双精度数,而不是读取字符串并将其转换。您已经正确放置了try / catch,但是e.printStackTrace()在控制台中向您显示了错误(删除此行)。我建议您将try / catch放入while循环内,这样,当用户插入字母时,程序不会关闭,而是在两个数字都正确的情况下循环。您可以使用一个简单的布尔值来执行此操作

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我不能用 javascript 做一个简单的计算器

我想制作一个平均值计算器,但我遇到了一些问题

需要使用小型计算器的一些指导,我正在研究Ruby

我试图用python做一个基本的计算器。我包括一个函数索引

我正在尝试制作一个计算器,一个简单的

需要一个简单的功能添加到一个简单的计算器作出JS作出反应

用C++做一个简单的计算器时如何选择运算符?

我在睡衣上制作了一个简单的TicTacToe,但我遇到了一些错误

创建一个简单的计算器,附加问题

使用perl创建一个简单的计算器

尝试创建一个简单的总和计算器

使用 while 制作一个简单的计算器

我正在尝试制作一个天空盒,但我一定缺少一些基本的东西

我做了一个年龄计算器,我需要刷新以重新使用

我需要添加一些延迟,使出现一个按钮

我在as3和Flash中创建一个简单的计算器

我正在尝试使用AddEventListener和QuerySelector创建一个简单的Javascript计算器

我正在尝试构建一个简单的计算器

我想在 jQuery 中创建一个简单的计算器

我想做一个Cronjob,但出现了一些错误

如何用 XML 和 XSLT 做一个计算器

用python编写计算器,需要一些帮助

需要在我的 PATH 中永久添加一些东西

我需要做一个一对多的关系,简单的模型?

一个函数,在函数内添加一些东西,但在外面打印

我正在制作一个简单的计算器,GUI的构建一直处于冻结状态

我试图做一个简单的故事制作者,但我停留在性别方面

我如何在 Python 中一遍又一遍地向一个数字添加一些东西

我不懂JSON。需要一些帮助来清理一些东西