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地址 码云项目地 ...
随机推荐
- Bash is an sh-compatible command language interpreter that executes commands read from the standard input or from a file.
w https://linux.die.net/man/1/bash bash - GNU Bourne-Again SHell Description Bash is an sh-compatibl ...
- selinux的设置包括两个部分: 修改安全上下文和修改策略
selinux的设置包括两个部分: 修改安全上下文和修改策略 修改安全上下文: chcon = change context: chcon 修改策略: setsebool 策略就是由很多boo类型的变 ...
- 【cs231n作业笔记】一:KNN分类器
安装anaconda,下载assignment作业代码 作业代码数据集等2018版基于python3.6 下载提取码4put 本课程内容参考: cs231n官方笔记地址 贺完结!CS231n官方笔记授 ...
- django-xadmin设置全局变量
class GlobalSetting(object): site_title = '自己的命名' site_footer = '底部命名'# 收缩菜单 menu_style = 'accordion ...
- git_01_上传第一个项目至git
前言 Git是一个开源的分布式版本控制系统,可以有效.高速地处理从小到大的项目版本管理.最近在自己研究自动测试,也准备放到git上管理.由于工作中是在已有的代码库拉取.提交代码.自己想要初次建库上传项 ...
- 请正视抑郁症(附Zung氏抑郁自评量表(SDS))
为什么要记录? 因为去年开始关注抑郁症这块,逐渐发现抑郁症原来不只是简单的情绪问题,它是情绪与实质性的生理相互作用并紧密关联的疾病,并不是单纯的劝解自己就可以疗愈的一种疾病,它的存在需要换着身边的人帮 ...
- C#打印单据
HTML: <form id="form1"> <div id="t_border"> <!- ...
- 数组的includes方法
Array.prototype.includes方法返回一个布尔值,表示某个数组是否包含给定的值,与字符串的includes方法类似.该方法属于 ES7 ,但 Babel 转码器已经支持. [1, 2 ...
- Java集合:Collection、List、Set、Map、泛型
1.集合的理解和好处 2.集合的框架体系图 ★ 3.Collection接口的特点和使用 ★ 4.List和Set接口的特点和使用★ 5.List接口的实现类学习★ 6.Set接口的实现类学习★ 7. ...
- pyhton常用快捷键
常用快捷键 快捷键 功能 Ctrl + Q 快速查看文档 Ctrl + F1 显示错误描述或警告信息 Ctrl + / 行注释(可选中多行) Ctrl + Alt + L 代码格式化 Ctrl + A ...