java实现计算器计算模块

要求:对输入的内容进行判断,如果是int,到下一步输入数字,如果不是则返回并重新输入数字,本课程要求只对两个数字进行运算。

我直接话不多说,上代码。(解释见后面)

 

```java
import java.util.Scanner;


public class arr {

    public static boolean isNumeric(String str) {
        for (int i = str.length(); --i >= 0; ) {
            if (!Character.isDigit(str.charAt(i))) {
                return false;
            }
        }
        return true;
    }


    public static void main(String[] args) {
        // 创建键盘录入对象
        Scanner sc = new Scanner(System.in);
        int i = 0;
        int f = 0;
        boolean g = false;
        while (true) {
            System.out.println("请输入第1个整数:");
            // 接收数据
            String j = sc.next();
            g = isNumeric(j);
            if (g == false) {
                System.out.println("请重新输入整数!!!");
                continue;
            } else {
                i = Integer.parseInt(j);
                break;
            }

        }
        while (true) {
            System.out.println("请输入第2个整数:");
            // 接收数据
            String j = sc.next();
            g = isNumeric(j);
            if (g == false) {
                System.out.println("请重新输入整数!!!");
                continue;
            } else {
                f = Integer.parseInt(j);
                break;
            }
        }
        int result = 0;
        fuhao:while (true) {
            System.out.println("请输入计算符号(+ - * /):");
            String s = sc.next();
            switch (s) {
                case "+":
                    result = i + f;
                    break fuhao;
                case "-":
                    result = i - f;
                    break fuhao;
                case "*":
                    result = i * f;
                    break fuhao;
                case "/":
                    result = i / f;
                    break fuhao;
                default:
                    System.out.println("请重新输入符号!!!");
                    continue fuhao;
            }

        }
        System.out.println("计算结果"+result);

    }



}
```

首先这个类是判断输入的内容是否为数字的,不是则返回false,是则返回true。(java自带)

如果是数字,因为我们录入后是字符串模块,就需要用到强制转换。Integer.parseint(字符串名)

输入计算符号中,要用到switch语句和while语句,对符号进行判断,若是加减乘除则执行相应功能,若是其他的则执行continue功能,重新录入符号。这里建议用标号功能(即给循环一个名称),方便跳出或者执行某个循环,我这里给一个循环起名为fuhao。便于执行。

最后就是把结果输出了,完毕。

缺点:若是负数则会返回false。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值