前言


  之前在学习完Java的方法后,我发现自己可以开始写计算器这个“经典”的项目了,于是我花了一点时间写下了这个计算器的程序,也写下了这篇文章。

  在这里,我需要说明一下,这个程序只是我自己花了很少时间去写下来的代码,具体一点的时间是不到一个小时,更具体的时间不能透露更多了(doge),可能源码不是很好,仅供参考。好了,话不多说,我们开始讲解吧!

思路


  我的思路很简单,就是在运行界面能够实现一些基础的而且是必要的用户交互,而且我们也要满足项目的具体要求,即:

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

  • 传递需要操作两个数

  • 输出结果

  于是我就作了一个简单的设计思路(可以理解为程序流程图):

源码


  根据上面的简单的设计思路,我写下了这个程序源码:

 1 import java.util.Scanner;     //题目有输入,所以要引入输入
2
3 public class Calculator {
4 // 计算器
5 public static void main(String[] args) {
6 Scanner scanner = new Scanner(System.in);
7 while (true){                           //循环实现循环接受新的数据
8 System.out.println("请输入第一个数:");
9 double a = scanner.nextDouble();
10 System.out.println("请输入第二个数:");
11 double b = scanner.nextDouble();     //使用两个变量记录用户输入的两个数
12 menu(a,b); //进入menu方法进行计算
13 exit();                              //判断用户是否继续传入新的数据进行新的计算
14 int Select2 = scanner.nextInt();
15 switch (Select2){
16 case 1:
17 System.out.println("正在加载...");
18 break;
19 case 2:
20 System.out.println("谢谢您的使用,再见!");
21 scanner.close();                    //关闭输入
22 return;
23 default:
24 System.out.println("输入序号非法,程序即将结束!");
25 scanner.close();return;
26 }
27 }
28 }
29
30 public static void exit(){                       //输出交互相关文字
31 System.out.println("***您需要继续计算吗?***");
32 System.out.println("***1.需要,请继续******");
33 System.out.println("***2.不需要,退出程序***");
34 System.out.println("*请输入对应序号进行选择:*");
35 }
36
37 public static double menu(double a,double b){
38 Scanner scanner = new Scanner(System.in);
39 System.out.println("==========MENU==========");          //输出交互相关文字
40 System.out.println("=======1.计算加法=========");
41 System.out.println("=======2.计算减法=========");
42 System.out.println("=======3.计算乘法=========");
43 System.out.println("=======4.计算除法=========");
44 System.out.println("请输入菜单对应序号进入对应功能:");
45 int Select1 = scanner.nextInt();                    
46 switch (Select1){                            //判断用户交互内容,并执行
47 case 1:
48 jia(a,b);
49 break;
50 case 2:
51 jian(a,b);
52 break;
53 case 3:
54 cheng(a,b);
55 break;
56 case 4:
57 chu(a,b);
58 break;
59 default:
60 System.out.println("输入序号有误,请重新输入!");          //输入不相关字符,让用户重新输入
61 return menu(a,b);
62 }
63 return 0;
64 }
65
66 public static void jia(double a,double b){                  //加法方法
67 System.out.println("计算结果为:"+(a+b));
68 }
69
70 public static void jian(double a,double b){                  //减法方法
71 System.out.println("计算结果为:"+(a-b));
72 }
73
74 public static void cheng(double a,double b){                //乘法方法
75 System.out.println("计算结果为:"+(a*b));
76 }
77
78 public static void chu(double a,double b){                //除法方法
79 System.out.println("计算结果为:"+(a/b));
80 }
81 }

  最后,十分感谢您的阅读,如果您觉得有用,欢迎您关注幽离,幽离后续会更新更多优质内容!

java计算器(简单版)的更多相关文章

  1. Java实现简单版SVM

    Java实现简单版SVM 近期的图像分类工作要用到latent svm,为了更加深入了解svm,自己动手实现一个简单版的.         之所以说是简单版,由于没实用到拉格朗日,对偶,核函数等等.而 ...

  2. 红警大战JAVA简单版

    代码结构: 相关源码: 武器类: 属性:武器,攻击力,子弹数量. 方法:给属性赋值(set属性()方法) 获取属性值(get属性()方法) package 红警大战简单版; public class ...

  3. PAT(B) 1089 狼人杀-简单版(Java)逻辑推理

    题目链接:1089 狼人杀-简单版 (20 point(s)) 题目描述 以下文字摘自<灵机一动·好玩的数学>:"狼人杀"游戏分为狼人.好人两大阵营.在一局" ...

  4. 《仙剑奇侠传柔情版》Java的简单实现(二)

    基于<仙剑奇侠传柔情版>Java的简单实现(二) 2018-12-02 by Kris 需要上次的GameFrame.class中窗口框架承载:https://www.cnblogs.co ...

  5. 基于《仙剑奇侠传柔情版》利用Java的简单实现(一)

    基于<仙剑奇侠传柔情版>利用Java的简单实现(一) 2018-12-01 23:55:36   by Louis  一,新建一个类GameFrame.class,具体代码如下: pack ...

  6. JavaMail简单版实验测试

    前言: 最近由于实现web商城的自动发送邮件功能的需求,故涉猎的邮箱协议的内部原理.现将简单版的Java Mail实例做个代码展示,并附上其中可能出现的bug贴出,方便感兴趣的读者进行测试! 1.载入 ...

  7. 工厂方法模式(Java与Kotlin版)

    前文推送 设计模式 简单工厂模式(Java与Kotlin版) Kotlin基础知识 Kotlin入门第一课:从对比Java开始 Kotlin入门第二课:集合操作 Kotlin入门第三课:数据类型 初次 ...

  8. 抽象工厂模式(Java与Kotlin版)

    前文推送 设计模式 简单工厂模式(Java与Kotlin版) 工厂方法模式(Java与Kotlin版) Kotlin基础知识 Kotlin入门第一课:从对比Java开始 Kotlin入门第二课:集合操 ...

  9. 建造者模式(Java与Kotlin版)

    前文推送 设计模式 简单工厂模式(Java与Kotlin版) 工厂方法模式(Java与Kotlin版) 抽象工厂模式(Java与Kotlin版) Kotlin基础知识 Kotlin入门第一课:从对比J ...

  10. 《Effective Java中文版第二版》读书笔记

    说明 这里是阅读<Effective Java中文版第二版>的读书笔记,这里会记录一些个人感觉稍微有些重要的内容,方便以后查阅,可能会因为个人实力原因导致理解有误,若有发现欢迎指出.一些个 ...

随机推荐

  1. 使用.NET 6开发TodoList应用(5)——领域实体创建

    需求 上一篇文章中我们完成了数据存储服务的接入,从这一篇开始将正式进入业务逻辑部分的开发. 首先要定义和解决的问题是,根据TodoList项目的需求,我们应该设计怎样的数据实体,如何去进行操作? 长文 ...

  2. 【剑指Offer】数组中只出现一次的数字 解题报告(Python)

    [剑指Offer]数组中只出现一次的数字 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-intervie ...

  3. [LeetCode]621. Task Scheduler 任务安排 题解

    题目描述 给定一个char数组,代表CPU需要做的任务,包含A-Z,不用考虑顺序,每个任务能在1个单位完成.但是有规定一个非负整数n代表两个相同任务之间需要至少n个时间单位.球最少数量的时间单位完成所 ...

  4. vue使用v-chart图表出现的问题

    npm i v-charts echarts -S 引入 import VCharts from 'v-charts' Vue.use(VCharts) 后发现报错,后来发现安装echarts版本太高 ...

  5. Android物联网应用程序开发(智慧园区)—— 设置传感器阈值对话框界面

    效果图: 自定义对话框布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xml ...

  6. jquery控制元素的隐藏和显示的几种方法

    使用jquery控制div的显示与隐藏,一句话就能搞定,例如: 方法一 显示: $("#id").show()表示为display:block, 隐藏: $("#id&q ...

  7. 使用 JavaScript 的 HTML 页面混合、根据在下拉列表框中选择的内容,决定页面效果,用户在下拉列表框中选择页面将要使用的背景颜色

    查看本章节 查看作业目录 需求说明: 根据在下拉列表框中选择的内容,决定页面效果 用户在下拉列表框中选择页面将 要使用的背景颜色 当用户选择橙色时,页面背景将显示为橙色 实现思路: 用表单 <s ...

  8. 编写Java程序,以树形结构显示国家-直辖市/省/州信息

    返回本章节 返回作业目录 需求说明: 以树形结构显示国家-直辖市/省/州信息 实现思路: 创建显示树形结构的类Tree,在该类中定义Map类型的全局实例属性countryMap,该Map集合用于存放所 ...

  9. SpringBoot集成MyBatis-Plus框架

    1.说明 本文介绍Spring Boot集成MyBatis-Plus框架, 重点介绍需要注意的地方, 是SpringBoot集成MyBatis-Plus框架详细方法 这篇文章的脱水版, 主要是三个步骤 ...

  10. html 基础 vscode的常用快捷键

    1.ctrl+/ //注释代码 2.文件内容查找替换:ctrl+f ctrl+h ,替换一个ctrl+shift+1,替换所有ctrl+alt+enter 3.移动当前行,向上alt+up(方向键↑) ...