java实现简单的控制台的计算器
要用面向对象的思维写。
//我是代码的搬运工
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Number number = new Number();
while (true) {
if (number.toOutPut()) {
} else {
System.out.println("欢迎下次使用!!!");
}
}
}
}
// 定义一个Number类,三个字段分别代表第一二手动输入的字段,以及运算符
class Number {
double double1;
double double2;
String sign; public Number() {
} public Number(double double1, double double2, String sign) {
this.double1 = double1;
this.double2 = double2;
this.sign = sign;
}
//运算流程-->
static double result(double d1,double d2,String sign) {
//计算结果result1 必须设一个值不然报错
double result1 = 0;
if (sign.equals("+")||sign=="+") {
result1 = d1 + d2;
} else if (sign.equals("-") || sign == "-") {
result1 = d1 - d2;
}
else if (sign.equals("*") || sign == "*") {
result1 = d1 * d2;
}
else if (sign.equals("/") || sign == "/") {
result1 = d1 / d2;
}
else {
//如果不是四则运算我们就设定一个边缘值继而有了如下的操作
result1=1.7e-308;
}
return result1;
} //
boolean toOutPut() {
System.out.println("亲!请您输入第一个数字哟!!!");
Scanner input = new Scanner(System.in);
double d1 = input.nextDouble();
System.out.println("亲!请您输入运算符:");
String string = input.next();
System.out.println("亲!请您输入第二数字哟!!!");
double d2 = input.nextDouble();
double result = Number.result(d1, d2, string);
String s = String.valueOf(result);
String replace = s.replace(".0", "");
s = replace;
if (result == 1.7e-308) {
System.out.println("计算结果错误,望用户老爷检查");
} else {
System.out.println("计算结果为"+s);
}
System.out.println("是否继续运算, 'Y' or 'y' 继续任意键退出");
String str1= input.next();
if ("Y".equals(str1) || "y".equals(str1)) {
return true;
} else {
return false;
}
}
// 下面都是get or set 方法以及构造方法还有重写的toString()基本
// 上不用管
public double getDouble1() {
return double1;
} public void setDouble1(double double1) {
this.double1 = double1;
} public double getDouble2() {
return double2;
} public void setDouble2(double double2) {
this.double2 = double2;
} public String getSign() {
return sign;
} public void setSign(String sign) {
this.sign = sign;
} @Override
public String toString() {
return "Number{" +
"double1=" + double1 +
", double2=" + double2 +
", sign='" + sign + '\'' +
'}';
}
}
java实现简单的控制台的计算器的更多相关文章
- java实现简单的单点登录
java实现简单的单点登录 摘要:单点登录(SSO)的技术被越来越广泛地运用到各个领域的软件系统当中.本文从业务的角度分析了单点登录的需求和应用领域:从技术本身的角度分析了单点登录技术的内部机制和实现 ...
- java实现打开Windows控制台窗口
在写Python程序的时候突发奇想了一下,能不能用java代码实现打开控制台窗口呢? 经过查询网络资料和java API文档,终于实现了: package com.primeton.cmd; impo ...
- java 模拟简单搜索
Java 模拟简单搜索 实体类 package org.dennisit.entity; /** * * * @version : 1.0 * * @author : 苏若年 <a href=& ...
- 基于《仙剑奇侠传柔情版》利用Java的简单实现(一)
基于<仙剑奇侠传柔情版>利用Java的简单实现(一) 2018-12-01 23:55:36 by Louis 一,新建一个类GameFrame.class,具体代码如下: pack ...
- Java 实现简单的 Socket 通信
Java socket 封装了传输层的实现细节,开发人员可以基于 socket 实现应用层.本文介绍了 Java socket 简单用法. 1. 传输层协议 传输层包含了两种协议,分别是 TCP (T ...
- Java实现简单版SVM
Java实现简单版SVM 近期的图像分类工作要用到latent svm,为了更加深入了解svm,自己动手实现一个简单版的. 之所以说是简单版,由于没实用到拉格朗日,对偶,核函数等等.而 ...
- Java自定义简单标签
Java自定义简单标签可以方便的在页面输出信息,并且对于权限的控制,和对于Jsp标签和servlet代码的分离有着很好的作用. 下面将以权限的控制为例自定义一个标签: 一.标签类型 <wxt: ...
- 主题:Java WebService 简单实例
链接地址:主题:Java WebService 简单实例 http://www.iteye.com/topic/1135747 前言:朋友们开始以下教程前,请先看第五大点的注意事项,以避免不必要 ...
- Java课程设计----仿Windows标准型计算器
JAVA课程设计 仿Windows标准型计算器(By Yanboooooooo) 一.团队介绍: 连燕波[组长]:网络1513学生. 张文博[组员]:网络1513学生. 二.项目git地址 码云项目地 ...
随机推荐
- Markdown Memo(memorandum)
居中 html语法 <center>居中</center> 左对齐 <p align="left">左对齐</p> 右对齐 < ...
- vue-element-template模板项目使用记录(持续更新)
1. npm 使用注意事项: a. node.js 使用 v8.16.0 版本,使用 v10 版本会有各种莫名其妙的报错 b. 开箱先改淘宝镜像: npm config set registry ht ...
- Vue知识整理1:$watch方法的使用
如下图所示:vue中,可以使用$watch方法显示变量的前面值和当前值,方便进行判断.使用方法: vm.$watch('a',function(newval,oldval){ ...... })
- QCOW2/RAW/qemu-img 概念浅析
目录 目录 扩展阅读 RAW QCOW2 QEMU-COW 2 QCOW2 Header QCOW2 的 COW 特性 QCOW2 的快照 qemu-img 的基本使用 RAW 与 QCOW2 的区别 ...
- golang md5 结果类型
golang md5 结果类型 package main import ( "crypto/md5" "encoding/hex" "fmt&quo ...
- LeetCode——707 设计链表
题目: 总而言之就是要用C++手撸链表,我的代码: class MyLinkedList { public: /** Initialize your data structure here. */ M ...
- Makefile之patsubst
经常要手写项目的Makefile,或者看其他项目的遗留项目的Makefile,有些makefile内置函数常用, 却用完就忘记了,最近项目中使用patsubst,感觉挺好用的 格式:$(pa ...
- vue --》组件的封装 及 参数的传递
vue组件的定义 ● 组件(Component)是Vue.js最强大的功能之一 ● 组件可以扩展HTML元素,封装可重用代码 ● 在较高层面上,组件是自定义元素,Vue.js的编译器为他添加特殊功能 ...
- 将java项目转换成javaWeb项目
1.Ctrl+Shift+R快捷键:找到此项目中的.project文件,打开修改文件内容 在<natures> </natures>代码标签中,添加些内容: <natur ...
- Python自学第二天学习之《元组与字典》
一. 元组:tuple类型,元组一级元素 不能修改 不能增加 不能删除,是有序的. 格式 :tu=(1,2,3,4,5,6) 1.类型转换: #字符串转换成元组 b=“123” c=tuple(b) ...