zoukankan      html  css  js  c++  java
  • 写一个输入两位数,实现加减乘除的程序。并和同学比较一下各种的功能、实现方法的异同等等。写出自己程序存在的缺陷,以及比别人做的好的地方。

    我的代码

    test类

    package cn.linqi.com;
    
    import java.util.Scanner;
    
    public class Test {
        public static void main(String[] args) {
            System.out.println("========我的计算器========");
            System.out.println("请输入第一个数:");
            Scanner a = new Scanner(System.in);
            int num1 = a.nextInt();
            System.out.println("请输入第二个数");
            Scanner b = new Scanner(System.in);
            int num2 = b.nextInt();
            System.out.println("请输入运算符+,-,*,/");
            Scanner c = new Scanner(System.in);
            String opt = c.next();
            if ("+".equals(opt)) {
                Add add = new Add();
                int result = add.add(num1, num2);
                System.out.println("结果为:" + result);
            } else if ("-".equals(opt)) {
                Sub sub = new Sub();
                int result = sub.sub(num1, num2);
                System.out.println("结果为:" + result);
            }
    
            else if ("*".equals(opt)) {
                Mul mul = new Mul();
                int result = mul.mul(num1, num2);
                System.out.println("结果为:" + result);
            }
    
            else if ("/".equals(opt)) {
                if (num2 != 0) {
                    Div div = new Div();
                    int result = div.div(num1, num2);
                    System.out.println("结果为:" + result);
                } else {
                    System.out.println("除数不能为0,请重新输入~");
                }
            } else {
                System.out.println("输入有误,请重新输入运算符");
            }
        }
    }

     

    Add类

    package cn.linqi.com;
    
    public class Add {  
      
    //加法运算 public int add(int num1, int num2) { System.out.println("这两个数的和是:"); return num1+num2; } }

     

    Sub类

    package cn.linqi.com;
    
    public class Sub { 
      
    // 减法运算    public int sub(int num1, int num2) {

        System.out.println("这两个数相减:");    return num1 - num2; } }

    Mul类

    package cn.linqi.com;
    
    public class Mul { 
     
      // 乘法运算    public int mul(int num1, int num2) {
       
         System.out.println("这两个数相乘为:");     return num1 * num2; } }

    Div类

    package cn.linqi.com;
    
    public class Div { 
    
     // 除法运算
    
     public int div(int num1, int num2) { 
    
        System.out.println("这两个数的相除为:"); 
    
        return num1 / num2;
    
     }
    }
    

     

    说说自己程序存在的缺陷,以及比别人做的好的地方。

      缺陷

          (1)没有考虑到,当对方输入的不是数字时的异常处理。

        (2)计算器的重复使用性,例如不能同时做加,减的运算,只能运行一次,计算一次。

        (3)除法中,只能用于整数除法,且无余数只能向下取余。

      优势

         (1)把每个功能分开写,重用性高。

         (2)有做除数为零的判断,教为严谨。

          (3)每个功能名字,表达了它的作用,很直观,一目了然。

     

  • 相关阅读:
    华为oj之字符串分割
    华为oj之字符个数统计
    华为oj之等差数列前n项和
    华为oj之质数因子
    华为oj之求int型正整数在内存中存储时1的个数
    华为oj之字符串反转
    SpringBoot--表单验证
    SpringBoot--异常统一处理
    SpringBoot--文件上传
    SpringBoot--thymeleaf
  • 原文地址:https://www.cnblogs.com/mumudake/p/5313738.html
Copyright © 2011-2022 走看看