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. 使用nodejs + wecharty打造你的个人微信机器人

    开源地址:https://github.com/isnl/wechat-robot 注: 从2017年6月下旬开始,使用基于web版微信接入方案存在大概率的被限制登陆的可能性. 主要表现为:无法登陆W ...

  2. Vue-cli3.0下的雪碧图插件webpack-spritesmith配置方法

    在前端项目中,为了减少对图片的请求次数,一般而言需要进行雪碧图的配置.即将多张小图标合并成一张图片,这样页面中的小图标都在一张图片上,只需请求一张图片,就可以通过CSS设置各个小图标的显示,利于节省带 ...

  3. CC视频CTO栗伟:CDN系统架构及CC视频应用实践

    2017 年 11 月9日,CC视频获2.08 亿元C轮融资. EGO 北京分会会员.CC视频CTO栗伟获邀作为 EGO 线上分享第三季嘉宾,与大家交流了CDN系统架构及CC 视频的应用实践. \\ ...

  4. 图论--2-SAT--详解

    问题描述: 现有一个由N个布尔值组成的序列A,给出一些限制关系,比如A[x]AND A[y]=0.A[x] OR A[y] OR A[z]=1等,要确定A[0..N-1]的值,使得其满足所有限制关系. ...

  5. python-os.rmdir与shutil.rmtree的区别和用法

    每次写脚本的时候,pycharm都会自动生成缓存文件__pycache__文件,在提交代码的时候还得挨个删除,于是自己写一小段代码自动循环删除此目录及下面的文件. 思路: 先将目录及其下的文件读取出来 ...

  6. commons-logging slf4j log4j 区别

    日志门面 1.Apache通用日志接口(commons-logging.jar) Apache Commons包中的一个,包含了日志功能,必须使用的jar包.这个包本身包含了一个Simple Logg ...

  7. vue 之 slot插槽

    插槽,也就是slot,是组件的一块HTML模板,这块模板显示不显示.以及怎样显示由父组件来决定. 实际上,一个slot最核心的两个问题这里就点出来了,父组件决定插槽显示或不显示以及怎样显示,子组件决定 ...

  8. 经典卷积神经网络算法(2):AlexNet

    .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...

  9. Qt 操作sql server数据库

    添加qtsql的库 连接数据库 QSqlDatabase_db = QSqlDatabase::addDatabase("QODBC"); _db.setHostName(); _ ...

  10. Nginx下的location,upstream,rewrite 和 proxy_pass使用总计大全

    一 . location: 顾名思义-->地址,也叫路由. nginx服务器非常核心的配置,一般nginx运维人员在修改nginx配置时,大部分也是围绕着location这个配置进行修改. 下面 ...