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地址 码云项目地 ...
随机推荐
- JDBC之Statement 接口的测试(存在sql注入风险)
实现简单的登录功能 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; impo ...
- WPF UI Close button
<Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.com/w ...
- centos 6.5 升级openssh-7.5
1.环境 2.安装telnet 服务,防止ssh升级之后登陆不上服务器,使用telnet 连接服务器 yum install telnet-server -y chkconfig telnet on ...
- 003--PowerDesigner创建索引与外键
PowerDesigner创建索引与外键 一.创建索引 双击Table->Columns->创建索引 Step1:双击Table Step2:选择Columns->创建索引 弹出如下 ...
- 四种pop模式介绍
四种pop模式介绍 URL:http://www.hishop.com.cn/ecschool/jd/show_21195.html URL:https://zhidao.baidu.com/ques ...
- 前端 CSS的选择器 伪元素选择器
介绍常用的伪元素. after用得比较多的 first-letter 用于为文本的第一个首字母设置样式. <!DOCTYPE html> <html lang="en&qu ...
- python字典-字典方法
1.kyes() (1)取出字典的key In [32]: myCat Out[32]: {'colr': 'gray', 'size': 'fat'} In [33]: for i in myCat ...
- STL关联容器值hashtable
hashtable(散列表)是一种数据结构,在元素的插入,删除,搜索操作上具有常数平均时间复杂度O(1); hashtable名词 散列函数:负责将某一元素映射为索引. 碰撞(collision):不 ...
- [Python3 填坑] 017 实例方法、静态方法、类方法的区别
目录 1. print( 坑的信息 ) 2. 开始填坑 2.1 先上例子 2.2 分析 1. print( 坑的信息 ) 挖坑时间:2019/04/07 明细 坑的编码 内容 Py024-1 实例方法 ...
- HDU.6186.CSCource.(前缀和数组和后缀和数组)
明天后天是南昌赛了嘤嘤嘤,这几天就先不更新每日题目了,以后补题嘤嘤嘤. 今天和队友做了一套2017年广西邀请赛,5个题还是有点膨胀...... 好了,先来说一下有意思的题目吧...... CS Cou ...