用Java实现计算器功能

简介: ###### 程序解析: 使用Scanner进行导包,抓取用户数据,进行强制转换,转换成float类型,进行 计算创建一个方法,使用这个方法进行工作处理数据,再创建一个流程方法,使用 equals判断比较数据,使代码更严谨,使用break;和continue;增加程序的复用性 ,使程序更加的灵活。使用Switch语句判断符号,进行传参计算,使用while(){} 语句增加一个死循环,使程序更复用,不浪费数据,增加一些严禁判断,让程序更 完美一点。

## 练习一

   1.设计一个类模拟一个计算器

     达到什么需求?加减乘除 需要设计一个方法一个计算方法

控制台输出

首先请输入第一个数

        例如数字1

 请输入符号

 例如+

 请输入第二个数

 例如2

       第二次  数字3      

 请输入符号

 -

 请输入第二个数

 2

        结果1

###### 程序解析:

        使用Scanner进行导包,抓取用户数据,进行强制转换,转换成float类型,进行

     计算创建一个方法,使用这个方法进行工作处理数据,再创建一个流程方法,使用

     equals判断比较数据,使代码更严谨,使用break;和continue;增加程序的复用性

     ,使程序更加的灵活。使用Switch语句判断符号,进行传参计算,使用while(){}

     语句增加一个死循环,使程序更复用,不浪费数据,增加一些严禁判断,让程序更

     完美一点。

#### 代码如下:

importjava.util.Scanner;
publicclassTemp {
publicfloatadd(floata,floatb){
returna+b;
        }
publicfloatsubstact(floata,floatb){
returna-b;
        }
publicfloatmultiply(floata,floatb){
returna*b;
        }
publicfloatdivide(floata,floatb){
returna/b;
        }
//设计一个方法  控制计算器计算的流程publicvoidDo() {
Scannerinput=newScanner(System.in);
System.out.println("请输入第一个数字");
Stringone=input.nextLine();
floata=Float.parseFloat(one);
while (true) {
System.out.println("请输入符号");
Stringsymbol=input.nextLine();
if (symbol.equals("=")){
System.out.println("我不玩啦,执行完毕");
break;
                }
if (!(symbol.equals("+")||symbol.equals("-")||symbol.equals("*")||symbol.equals("/"))){
System.out.println("输入有误,符号只能是“+、-、*、/”");
continue;
                }
System.out.println("请输入第二个数字");
Stringtow=input.nextLine();
floatb=Float.parseFloat(tow);
switch (symbol) {
case"+":
a=this.add(a, b);
break;
case"-":
a=this.substact(a, b);
break;
case"*":
a=this.multiply(a, b);
break;
case"/":
a=this.divide(a, b);
break;
                }
System.out.println(a);
            }
        }
   }

###### 总结:

       截止到现在,这个程序已经使用了我们所学的大部分知

   识,如果你能把这个计算机模拟原理弄明白,那么就说明你

   对前面的知识已经掌握啦。

目录
相关文章
|
26天前
|
存储 NoSQL Java
Java中使用redis的bitMap实现签到功能
这个实现示例提供了一种灵活、高效的方式,展示了如何使用Redis来解决现实中的问题。
27 2
|
7天前
|
JavaScript 前端开发 网络协议
WebSocket在Java Spring Boot+Vue框架中实现消息推送功能
在现代Web应用中,实时消息提醒是一项非常重要的功能,能够极大地提升用户体验。WebSocket作为一种在单个TCP连接上进行全双工通信的协议,为实现实时消息提醒提供了高效且低延迟的解决方案。本文将详细介绍如何在Java Spring Boot后端和Vue前端框架中利用WebSocket实现消息提醒功能。
20 0
|
1月前
|
分布式计算 DataWorks Java
DataWorks操作报错合集之使用ODPS Tunnel Upload功能时,遇到报错:Java 堆内存不足,该如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
1月前
|
搜索推荐 Java API
如何在Java应用中实现全文搜索功能
如何在Java应用中实现全文搜索功能
|
1月前
|
SQL XML JavaScript
【若依Java】15分钟玩转若依二次开发,新手小白半小时实现前后端分离项目,springboot+vue3+Element Plus+vite实现Java项目和管理后台网站功能
摘要: 本文档详细介绍了如何使用若依框架快速搭建一个基于SpringBoot和Vue3的前后端分离的Java管理后台。教程涵盖了技术点、准备工作、启动项目、自动生成代码、数据库配置、菜单管理、代码下载和导入、自定义主题样式、代码生成、启动Vue3项目、修改代码、以及对代码进行自定义和扩展,例如单表和主子表的代码生成、树形表的实现、商品列表和分类列表的改造等。整个过程详细地指导了如何从下载项目到配置数据库,再到生成Java和Vue3代码,最后实现前后端的运行和功能定制。此外,还提供了关于软件安装、环境变量配置和代码自动生成的注意事项。
558 2
|
29天前
|
Java Spring
Java演进问题之Spring框架使用技术实现其核心功能如何解决
Java演进问题之Spring框架使用技术实现其核心功能如何解决
|
1月前
|
设计模式 并行计算 安全
Java面试题: 如何使用装饰器模式来增强ConcurrentHashMap的功能?在什么情况下应该使用CopyOnWriteArrayList而不是ArrayList?
Java面试题: 如何使用装饰器模式来增强ConcurrentHashMap的功能?在什么情况下应该使用CopyOnWriteArrayList而不是ArrayList?
20 0
|
1月前
|
Java API Maven
如何在Java中实现邮件发送功能?
如何在Java中实现邮件发送功能?
|
1月前
|
Java 数据安全/隐私保护 容器
Java详解:GUI容器组件 | 功能组件
Java详解:GUI容器组件 | 功能组件
|
1月前
|
算法 Java 计算机视觉
实现Java中的图像处理功能
实现Java中的图像处理功能