Scanner类用法心得体会

Scanner类用法心得体会

问题引入:写一个计算器,要求实现加减乘除运算功能,并且能够循环接收新的数据,通过用户交互实现

法一

 public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入第一个数:");
        int a = scanner.nextInt();
        System.out.println("请输入第二个数:");
        int b = scanner.nextInt();
        System.out.println("请输入运算符:");
        String op = scanner.next();
        switch (op){
            case "+":
                System.out.println(add(a,b));
                break;
            case "-":
                System.out.println(sub(a,b));
                break;
            case "*":
                System.out.println(mul(a,b));
                break;
            case "/":
                System.out.println(div(a,b));
                break;
        }

        scanner.close();
    }
    //加法
    public static int add(int a,int b){
        return a+b;
    }
    //减法
    public static int sub(int a,int b){
        return a-b;
    }
    //乘法
    public static int mul(int a,int b){
        return a*b;
    }
    //除法
    public static int div(int a,int b){
        return a/b;
    }

运行结果

在这里插入图片描述
在这里插入图片描述

可以看到程序运行一次就结束了

改进方法:

 public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入第一个数:");
        while (scanner.hasNextLine()){//可以循环使用计算器
            int a = scanner.nextInt();
            System.out.println("请输入第二个数:");
            int b = scanner.nextInt();
            System.out.println("请输入运算符:");
            String op = scanner.next();
            switch (op){
                case "+":
                    System.out.println(add(a,b));
                    break;
                case "-":
                    System.out.println(sub(a,b));
                    break;
                case "*":
                    System.out.println(mul(a,b));
                    break;
                case "/":
                    System.out.println(div(a,b));
                    break;
            }
            System.out.println("请输入第一个数");
        }
        scanner.close();
    }
    //加法
    public static int add(int a,int b){
        return a+b;
    }
    //减法
    public static int sub(int a,int b){
        return a-b;
    }
    //乘法
    public static int mul(int a,int b){
        return a*b;
    }
    //除法
    public static int div(int a,int b){
        return a/b;
    }

运行结果

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

可以看到程序可以一直运行下去,原因是加入了循环语句while (scanner.hasNextLine())

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值