首页 > 编程语言 >模拟简单的计算机程序

模拟简单的计算机程序

时间:2022-11-21 14:13:58浏览次数:42  
标签:计算机程序 scanner double System equals 简单 println 模拟 out

package base.method;

import java.util.Scanner;

public class Demo6 {
    public static String equal;
    public static double rest;
    public static double a;
    public static double c;
    public static String  b;
    public static void main(String[] args) {
        Demo6 calculator = new Demo6(); //创建对象调用函数
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入第一个数字");
         a = scanner.nextDouble();
        System.out.println("请输入运算符");
         b = scanner.next();
        System.out.println("请输入第二个数字");
         c = scanner.nextDouble();
        //double rest = 0;//存储最后的计算结果
        //if判断计算
        /*

        if (b.equals("-")){
            rest= calculator.sub(a,c);
        }else if (b.equals("+")){
            rest= calculator.add(a,c);
        }else if (b.equals("*")){
            rest= calculator.multiply(a,c);
        }else if (b.equals("/")){
            rest= calculator.div(a,c);
        }
        System.out.println("结果为:"+rest);
         */
        //do while判断 switch循环
        do {
            switch (b) {
                case "+":
                    rest = add(a, c);
                    System.out.println("输入=获取结果:");
                    equal = scanner.next();
                    coninue();
                    break;
                case "-":
                    rest = sub(a, c);
                    System.out.println("输入=获取结果:");
                    equal = scanner.next();
                    coninue();
                    break;
                case "*":
                    rest =multiply(a, c);
                    System.out.println("输入=获取结果:");
                    equal = scanner.next();
                    coninue();
                    break;
                case "/":
                    rest = div(a, c);
                    System.out.println("输入=获取结果:");
                    equal = scanner.next();
                    coninue();
                    break;
                default:
                    System.out.println("请输入正确的运算符!");
            }
        }while (b.equals("+")||b.equals("-")||b.equals("*")||b.equals("/"));
        scanner.close();
    }

    //加法方法
    public static   double  add(double a,double b){
       return a+b;
    }
    //减法方法
    public static double sub(double a,double b){
        return a-b;
    }
    //乘法方法
    public static double multiply(double a,double b){
        return a*b;
    }
    //除法方法
    public static double div(double a,double b){
        return a/b;
    }
    //获得结果 或 再次输入 或重新计算
    public static void coninue(){
        Scanner scanner = new Scanner(System.in);
        if (equal.equals("=")){
            System.out.println(a+b+c+"="+rest);
            System.out.println("输入运算符+,-,*,/继续输入c 重新开始计算 或 输入其他字符结束");
            b=scanner.next();
            if (b.equals("+")||b.equals("-")||b.equals("*")||b.equals("/")){
                System.out.println("输入数字:");
                c = scanner.nextDouble();
                a=rest;
            } else if (b.equals("c")) {
                System.out.println("请输入第一个数字");
                a = scanner.nextDouble();
                System.out.println("请输入运算符");
                b = scanner.next();
                System.out.println("请输入第二个数字");
                c = scanner.nextDouble();

            } else {
                scanner.close();
                System.out.println("结束运算!");
            }
        }else {
            System.out.println("输入错误!");
        }
    }
}

 

标签:计算机程序,scanner,double,System,equals,简单,println,模拟,out
From: https://www.cnblogs.com/zxpwys/p/16911210.html

相关文章

  • 使用UDP协议实现简单的分布式日志服务, java和python
    使用UDP协议实现简单的分布式日志服务,java和python这几天系统出现问题,需要查原因.日志分散在各个服务器上,查起来很要命.网上百度了好久,最后发现,各种日志的处理......
  • C++初阶(vector容器+模拟实现)
    迭代器四种迭代器容器类名::iterator迭代器名;//正向迭代器容器类名::const_iterator迭代器名;//常量正向迭代器,const修饰,只能用于读取容器内的元素,不能改变其值容......
  • argparse简单应用
    defmain(args): print(args.data_path)if__name__=='__main__'importargparseparser=argparse.ArgumentParser(description=__doc__)#数据集......
  • 使用Dockerfile创建一个tomcat镜像,并运行一个简单war包
    1、编写Dockerfile文件viDockerfileFROMcentos:latest   MAINTAINERjohn#nowaddjavaandtomcatsupportinthecontainerADDjdk-8u162-linux-x64.tar.gz/u......
  • eCos Synthetic实践(二)——简单外设
     1. 简介SyntheticTarget同样包含多种硬件设备,当然它们都是虚拟的,其中一部分设备通过Linux系统调用就可以实现,不需要I/O辅助进程的参与,这类设备包括Disk、ADC、Flash、......
  • 用最少的代码模拟gRPC四种消息交换模式
    我们知道,建立在HTTP2/3之上的gRPC具有四种基本的通信模式或者消息交换模式(MEP:MessageExchangePattern),即Unary、ServerStream、ClientStream和BidirectionalStream。......
  • 为了删除数万封邮件,使用python模拟鼠标自动点击删除
    公司的企业邮箱有段时间不知道为啥没有删除服务器上的邮件,屯了几万封。登陆企业邮网站,又不好清空邮箱,只能每次一页删除100封,光靠鼠标在那里点,真的费时费力。于是写了个pyth......
  • Solution Set -「LGR-126」洛咕咕的 NOIP 模拟赛
      机房在三楼,不在五楼.  三楼确实有阶梯教室.  三楼向外望是一楼大厅屋顶所以看上去不高.  十一点前必须离开科技楼是因为爱因斯坦要锁大门.  我不会被自......
  • go模拟实现反向代理各种算法
    packageutiltypeHttpServerstruct{HoststringWeightint}typeLoadBalancestruct{Server[]*HttpServerCurrentIndexint}varMapWeight......
  • Flink-简单介绍
    1,Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。并且Flink提供了数据分布、容错机制以及资源管理等核心功能。Flink提供了诸多高抽象层的AP......