Java通过循环结构和switch实现简易计算器

可以循环计算,通过调用函数本身来实现重新计算

package com.shenxiaoyu.method;

import java.util.Scanner;

public class TestDemo {
public static void main(String[] args) {
TestDemo test= new TestDemo();
test.computer();
}
//加
public double add(double num1){
Scanner input3 = new Scanner(System.in);
System.out.println("输入一个数:");
double num2 = input3.nextDouble(); return (num1+num2);
}
//减
public double subtract(double num1){ Scanner input3 = new Scanner(System.in);
System.out.println("输入一个数:");
double num2 = input3.nextDouble(); return (num1-num2);
}
//乘
public double multiply(double num1){ Scanner input3 = new Scanner(System.in);
System.out.println("输入一个数:");
double num2 = input3.nextDouble(); return (num1*num2);
}
//除
public double divide(double num1){
Scanner input3 = new Scanner(System.in);
System.out.println("输入一个数:");
double num2 = input3.nextDouble(); return (num1/num2);
}
//实现计算器循环计算
public void computer(){
Scanner input1 = new Scanner(System.in);
TestDemo test= new TestDemo();
System.out.println("输入一个数:");
double a = input1.nextDouble();
while(true){
Scanner input2 = new Scanner(System.in);
System.out.println("请输入您的操作:(加(+)减(-)乘(-)除(/)E(重新计算)退出(Q)):");
String str = input2.nextLine();
char chr = str.toCharArray()[0];
switch(chr){
case '+':
a = test.add(a);
System.out.println("和:"+a);
break;
case '-':
a = test.subtract(a);
System.out.println("减:"+a);
break;
case '*':
a = test.multiply(a);
System.out.println("乘:"+a);
break;
case '/':
a = test.divide(a);
System.out.println("除:"+a);
break;
case 'Q':
System.exit(-1);
case 'E':
computer();
default:
System.out.println("输入有误");
}
}
}
}

Java通过循环结构和switch实现简易计算器的更多相关文章

  1. [java基础]循环结构2

    [java基础]循环结构2 写了几个循环结构练习~记录一下~~ 1:99乘法表 /** 文件路径:G:\JavaByHands\循环语句\ 文件名称:GameForFor.java 编写时间:2016 ...

  2. [Java基础]循环结构3

    [Java基础]循环结构3 break 与 continue 中断循环... /** 文件路径:G:\JavaByHands\循环语句\ 文件名称:BreakTest.java 编写时间:2016/6 ...

  3. [java基础]循环结构1

    [java基础]循环结构1 循环结构:for循环,while循环,do_while循环在,增强型for循环 /** 文件路径:G:\JavaByHands\循环语句\ 文件名称:WhileTest.j ...

  4. Java 7-Java 循环结构 - for, while 及 do…while

    Java 循环结构 - for, while 及 do...while 顺序结构的程序语句只能被执行一次.如果您想要同样的操作执行多次,,就需要使用循环结构. Java中有三种主要的循环结构: whi ...

  5. java入门---循环结构 - for, while 及 do...while&break&continue

        顺序结构的程序语句只能被执行一次.如果您想要同样的操作执行多次,,就需要使用循环结构.Java中有三种主要的循环结构: while 循环 do…while 循环 for 循环     在Jav ...

  6. Java分支循环结构

    一.Java分支结构 1.if语句:一个 if 语句包含一个布尔表达式和一条或多条语句. if 语句的用语法如下:  if(布尔表达式){ 如果布尔表达式为true将执行的语句  } public c ...

  7. Java基础循环结构

    int x=10; do { System.out.println("value of x:"+x); x++; } while(x<20); //do while循环 1 ...

  8. JAVA的循环结构进阶

    1.什么是二重循环:                        一个循环体内又包含另一个完整的循环结构                     语法:                       ...

  9. java三大循环结构

    用于处理需要重复执行的操作: 根据判断条件的成立与否,决定程序段落的执行次数,而这个程序段落我们称为循环体: while:事先不需要知道循环执行多少次: do  while:同上,只是至少要执行一次( ...

随机推荐

  1. c语言----- 冒泡排序 for while do-while 递归练习

    1. 冒泡排序简介(默认从小到大排序) 核心思想:只比较相邻的两个元素,如果满足条件就交换    5 8 2 1 6 9 4 3 7 0 目标:0 1 2 3 4 5 6 7 8 9 第一次排序: 5 ...

  2. 【BUG之group_concat默认长度限制】

    2019独角兽企业重金招聘Python工程师标准>>> 问题:mysql数据库使用group_concat将多个id组成字符串数组,一共200个,到160个被截断: 原因:mysql ...

  3. Codeforce-CodeCraft-20 (Div. 2)-C. Primitive Primes(本原多项式+数学推导)

    It is Professor R's last class of his teaching career. Every time Professor R taught a class, he gav ...

  4. ACM-ICPC 2019 山东省省赛 C Wandering Robot

    这个题额,我觉的是一道水题,思维题,需要考虑的情况比较多,题意一个机器人给一条指令,循环n遍,问此过程中离原点最远距离. 考虑最远距离可能出现的的情况. 每次循环之后距离至少为0: 1.假设他每一次循 ...

  5. 如何使用thrift 服务引擎组件

    在本文中将介绍如果通过thrift 组件集成到surging 微服务引擎中,然后可以选择dotnetty 或thrift作为服务远程调用RPC,也可以通过其它语言的thrift 调用surging 服 ...

  6. GCRoots

    JVM面试汇总 JVM垃圾回收的时候如何确定垃圾?是否知道什么是GC Roots 什么是垃圾 简单来说就是内存中已经不再被使用的空间就是垃圾 如何判断一个对象是否可以被回收 引用计数法 Java中,引 ...

  7. 值得收藏的js原型详解

    从虚无到Object 起初,地是空虚混沌,渊面黑暗:这时候一切还是null 神说,要有原型,于是就有了prototype 原型从凭空产生,于是需要一个指向于null的特征,人们把这种特征叫做隐式原型, ...

  8. [zoj3596]DP(BFS)

    题意:求n的最小倍数,满足性质P:十进制的每一位上的数有m种(0<m<=10). 思路:直接枚举n的最小倍数,然后检测是否满足性质P,n一大很容易超时,并且无法判断无解的情况.巧妙的做法是 ...

  9. 使用npoi导入Excel - 带合并单元格--附代码

    之前我们在使用npoi导入excel表格的时候,往往会遇见那种带有合并单元格的数据在导入的时候出现合并为空的问题, 也就是只有第一条有数据,其余均为空白.在网上翻了半天也没有找到合适的解决方案,最后还 ...

  10. 学习ASP.NET Core(05)-使用Swagger与Jwt授权

    上一篇我们使用IOC容器解决了依赖问题,同时简单配置了WebApi环境,本章我们使用一下Swagger,并通过Jwt完成授权 一.Swagger的使用 1.什么是Swagger 前后端分离项目中,后端 ...