简易的打折与累加计算器
简易的打折与累加计算器
在Java的学习中,碰到了一个题目,要求设计一个简易打折与累加计算器。在上一篇博客中,我们成功地设计了一个简易的四则运算计算器,今天,我们就来改进一下我们的计算器,让我们的计算器可以进行累加计算。<我的Java学习记录02_m0_62713315的博客-CSDN博客>
思路
- 打折计算即为float或double类型的运算;
- 在计算器中加入一个循环语句来进行重复计算;
- 完成打折计算器后,在其中增加累加程序。
打折计算器
我们可以在我们之前的那个四则运算计算器中,加入一个循环语句,实现多次的运算。代码如下:
import java.util.Scanner;
public class Demo
{public static void main(String[] args){while ( Y_N( ) != 0) //调用方法判断是否循环{input_output(); //调用输入输出方法}}static double calculate( double x, char y, double z){double res = 0;switch( y ){case '+':res = x + z;break;case '-':res = x-z;break;case '*':res = x * z;break;case '/':res = x/z;break;default:System.out.println("无法计算");}return res;}static void input_output(){double a = 0, b = 0;char c = '0';System.out.println("请输入第一个数");Scanner in = new Scanner(System.in);a = in.nextDouble();System.out.println("请输入运算符号");c = in.next().charAt(0); //调用String 对象的charAt() 方法来获取第一个字符System.out.println("请输入第二个数");b = in.nextDouble();double res = calculate( a, c, b);System.out.println("-->" +res);}static int Y_N(){System.out.println("是否继续计算: Y / N");Scanner in = new Scanner(System.in);String symbol = in.nextLine();if("Y".equals( symbol) || "y".equals( symbol))/*equals( )方法是Java中判断两个对象是否相等的方法*/return 1;else{System.out.println("谢谢使用!");return 0;}}
}
运行结果如下:
这样,我们就成功地设计了一个能够重复进行计算的打折计算器了。
累加计算器
既然我们做出了一个打折计算器,那么我们只要能在其中加入一个累加计算的模块,那么我们就可以成功地设计出一个能够计算打折和累加的计算器了。但是,怎么才能加入一个累加的模块呢?这个问题困扰了我很久。我尝试在input_output( );
方法中加入,但是计算结果在每次循环后都会重置。在失败了多次后,终于,我成功地设计出了能够计算累加的计算器。我们只需要定义一个全局变量来固定方法中计算得到的累加和,之后再输出这个值就行了。代码如下:
import java.util.Scanner;
public class Add
{static double sum; //定义一个全局变量public static void main(String[] args){while ( Y_N( ) != 0){input_output();System.out.println("一共为"+sum);}}static double calculate( double x, char y, double z){double res = 0;switch( y ){case '+':res = x + z;break;case '-':res = x-z;break;case '*':res = x * z;break;case '/':res = x/z;break;default:System.out.println("无法计算");}return res;}static void input_output(){double a = 0, b = 0;char c = '0';System.out.println("请输入第一个数");Scanner in = new Scanner(System.in);a = in.nextDouble();System.out.println("请输入运算符号");c = in.next().charAt(0); //调用String 对象的charAt() 方法来获取第一个字符System.out.println("请输入第二个数");b = in.nextDouble();double res = calculate( a, c, b);System.out.println("-->" +res);sum += res; //计算累加和}static int Y_N(){System.out.println("是否继续计算: Y / N");Scanner in = new Scanner(System.in);String symbol = in.nextLine();if("Y".equals( symbol) || "y".equals( symbol))/*equals( )方法是Java中判断两个对象是否相等的方法*/return 1;else{System.out.println("谢谢使用!");return 0;}}
}
这样,我们就成功地完成了任务,设计了一个能够进行重复计算的打折与累加计算器。
简易的打折与累加计算器相关推荐
- 使用python编写一个简易的打折程序
使用python编写一个简易的打折程序
- 2021404209陈聪blog
文章目录 ==java代码== 1.书本样例2-7,计算税收 2.书本样例2-8,计算每月天数 3.书本样例2-9 4.计算程序运行时间 5.书p39两个编程题 6.项目实训:基于控制台设计简易的打折 ...
- 基于Java实现的一元稀疏多项式计算器
资源下载地址:https://download.csdn.net/download/sheziqiong/85896976 资源下载地址:https://download.csdn.net/downl ...
- 基于Java语言实现一元稀疏多项式计算器【100010608】
1.实验内容 一元稀疏多项式计算器 使用语言:Java 语言 编译环境:openJDk-1.8 2.问题描述 设计一个简易的一元稀疏多项式计算器. 3.需求分析 经过分析,本系统需完成的主要功能如下: ...
- Java学习记录02
Java学习记录02 在学习中,博客的书写不可缺少,相应的markdown基本语法也要掌握,下面是自己在CSDN上查找并学习的链接:Markdown语法 2.6项目实训:基于控制台设计简易打折与累加计 ...
- 计算商品总金额以及购物券总金额
project3项目实训 题目描述:编写一个Java程序,通过输入购买商品单个价格计算商品总价格和打折后应该支付的金额以及获得的购物券的金额. 具体要求:输入商品价格,当输入完后程序计算其打折前价格, ...
- PyQt5试验:基于QTableWidget的应用
PyQt5试验:基于QTableWidget的应用 前言: 大家好,这里是Seon塞翁.本文内容为基于 QtableWidget 控件,结合时间管理四象限思想,制作一个简易的任务优先度计算器. 需先对 ...
- 计算机组成(超详细)+附带思维导图
计算机的组成 运算器,进行运算,算术运算和逻辑运算 控制器,控制指令的执行 存储器,包括内存和外存,外存有硬盘,u盘等形式 输入设备,鼠标,键盘等 输出设备,比如显示器 运算器和控制器组成中央处理单元 ...
- 高效使用Mac桌面和窗口的技巧方法
自诞生之初,Mac 的系统就是为了让用户更容易使用计算机而设计.然而历经了三十多年的进化,繁多的系统特性和不同于 Windows 的设计,让不少 Mac 新手一时难以上手. 本文是为刚开始接触 Mac ...
最新文章
- 1.11 Java数组填充(fill())
- spring 依赖注入总结
- 数据结构基础:图结构的学习笔记
- 什么是runtime?
- 【POJ - 2001 】Shortest Prefixes (字典树,查询重复前缀区间)
- 移动对meta的定义(转)
- 【BZOJ1146】网络管理,整体二分
- numpy 生成任意shape的随机整数
- 即时通讯学习笔记001---XMPP了解认知
- futuretask java 并发请求_Java面试题整理一(侧重多线程并发)
- python基础学习--字符串和文件数据处理--附代码
- Oracle监听器启动出错:本地计算机上的OracleOraDb11g_home1TNSListener服务启动后又停止了解决方案
- PDF to Word Document Converter for Mac(PDF格式转换必备)
- Intellij IDEA|phpstorm 相关收藏
- Spring和Mybatis整合-mapper开发
- win10自带虚拟机 Hyper-V下载和安装linux系统
- 解决Mac系统读写NTFS格式移动硬盘
- 通电后第一次开机黑屏_完美解决win10开机后一直黑屏问题
- 目前流行的操作系统有哪些
- cocos2d-x横版动作游戏《闯关吧》源码