简单的计算器功能
来源:互联网 发布:java 处理undefined 编辑:程序博客网 时间:2024/05/18 01:01
package com.yuxinyicheng.calculator;
/**
* 需求:做一个简单的计算器
* 1、能够实现加、减、乘、除
* 2、能够连续的计算,例如:3+2 ,*6,-20
* 3、计算器开机的时候显示0
* 4、按下“=”号的时候,能够显示结果
*
* 分析:
* 1,属性:
* 两个整数型的变量;
* 一个static类型的整型变量,用来存放结果,是static的原因是为了实现连续加
* 一个char类型的变量,用来存放操作符
*
* 2,方法:
* 一个main方法
* 一个静态的代码块(在没有对象的时候,计算机开机的时候就显示0)
* 一个用来计算的方法
* 三个重载的构造方法
* 1,一个是传递两个整数型的参数(输入两个的时候)
* 2,一个是传递两个整形的参数和操作符(输入完整的表达式)
* 3,一个是猪传递操作符(用来实现按下“=”)
*
* */
public class Calculator {
private int integer1;
private int integer2;
private char operator;//定义操作符
private static int result=0;//用来存放计算的结果,是static类型
//刚开始的时候计算器显示0
static{
System.out.println("计算器开机显示:"+result);
}
//当输入操作符和一个数时候
public Calculator(char operator,int integer2){
this.integer1=result;
this.operator=operator;
this.integer2=integer2;
}
//当输入一个完整的表达式的时候
public Calculator(int integer1,char operator, int integer2){
this.integer1=integer1;
this.integer2=integer2;
this.operator=operator;
}
//按下等于号的情况
public Calculator(char operator){
if(operator=='='){
System.out.println("计算的结果为:"+result);
}
else{
throw new UnsupportedOperationException();
}
}
//加、减、乘、除的计算
public int calculate() throws UnsupportedOperationException,
ArithmeticException{
if(operator=='+'){
result=integer1+integer2;
}
else if(operator=='-'){
result=integer1-integer2;
}
else if(operator=='*'){
result=integer1*integer2;
}
else if(operator=='/'){
if(integer2==0){
throw new ArithmeticException();
}
else{
result=integer1/integer2;
}
}
else{
throw new UnsupportedOperationException();
}
return result;
}
public char getOperator() {
return operator;
}
public void setOperator(char operator) {
this.operator = operator;
}
public int getInteger1() {
return integer1;
}
public void setInteger1(int integer1) {
this.integer1 = integer1;
}
public int getInteger2() {
return integer2;
}
public void setInteger2(int integer2) {
this.integer2 = integer2;
}
public static int getResult() {
return result;
}
public static void setResult(int result) {
Calculator.result = result;
}
public static void main(String[] args) {
// 主方法捕获异常,并且进行测试
try {
//完成的表达式
Calculator cl1=new Calculator(3,'+',5);
int reslut=cl1.calculate();
System.out.println("计算的结果为:"+result);
//连续的计算
Calculator cl2=new Calculator('+',5);
result =cl2.calculate();
System.out.println("连续计算的结果是:"+result);
//测试除法
Calculator cl3=new Calculator('/',5);//除数不是0
result =cl3.calculate();
System.out.println("除数不是0的结果是:"+result);
// Calculator cl4=new Calculator('/',0);//除数为0
// result =cl4.calculate();
// System.out.println("除数不是0的结果是:"+result);
//测试"="
Calculator cl5=new Calculator('=');//是=
//Calculator cl6=new Calculator('*');//是=
} catch (UnsupportedOperationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ArithmeticException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/**
* 需求:做一个简单的计算器
* 1、能够实现加、减、乘、除
* 2、能够连续的计算,例如:3+2 ,*6,-20
* 3、计算器开机的时候显示0
* 4、按下“=”号的时候,能够显示结果
*
* 分析:
* 1,属性:
* 两个整数型的变量;
* 一个static类型的整型变量,用来存放结果,是static的原因是为了实现连续加
* 一个char类型的变量,用来存放操作符
*
* 2,方法:
* 一个main方法
* 一个静态的代码块(在没有对象的时候,计算机开机的时候就显示0)
* 一个用来计算的方法
* 三个重载的构造方法
* 1,一个是传递两个整数型的参数(输入两个的时候)
* 2,一个是传递两个整形的参数和操作符(输入完整的表达式)
* 3,一个是猪传递操作符(用来实现按下“=”)
*
* */
public class Calculator {
private int integer1;
private int integer2;
private char operator;//定义操作符
private static int result=0;//用来存放计算的结果,是static类型
//刚开始的时候计算器显示0
static{
System.out.println("计算器开机显示:"+result);
}
//当输入操作符和一个数时候
public Calculator(char operator,int integer2){
this.integer1=result;
this.operator=operator;
this.integer2=integer2;
}
//当输入一个完整的表达式的时候
public Calculator(int integer1,char operator, int integer2){
this.integer1=integer1;
this.integer2=integer2;
this.operator=operator;
}
//按下等于号的情况
public Calculator(char operator){
if(operator=='='){
System.out.println("计算的结果为:"+result);
}
else{
throw new UnsupportedOperationException();
}
}
//加、减、乘、除的计算
public int calculate() throws UnsupportedOperationException,
ArithmeticException{
if(operator=='+'){
result=integer1+integer2;
}
else if(operator=='-'){
result=integer1-integer2;
}
else if(operator=='*'){
result=integer1*integer2;
}
else if(operator=='/'){
if(integer2==0){
throw new ArithmeticException();
}
else{
result=integer1/integer2;
}
}
else{
throw new UnsupportedOperationException();
}
return result;
}
public char getOperator() {
return operator;
}
public void setOperator(char operator) {
this.operator = operator;
}
public int getInteger1() {
return integer1;
}
public void setInteger1(int integer1) {
this.integer1 = integer1;
}
public int getInteger2() {
return integer2;
}
public void setInteger2(int integer2) {
this.integer2 = integer2;
}
public static int getResult() {
return result;
}
public static void setResult(int result) {
Calculator.result = result;
}
public static void main(String[] args) {
// 主方法捕获异常,并且进行测试
try {
//完成的表达式
Calculator cl1=new Calculator(3,'+',5);
int reslut=cl1.calculate();
System.out.println("计算的结果为:"+result);
//连续的计算
Calculator cl2=new Calculator('+',5);
result =cl2.calculate();
System.out.println("连续计算的结果是:"+result);
//测试除法
Calculator cl3=new Calculator('/',5);//除数不是0
result =cl3.calculate();
System.out.println("除数不是0的结果是:"+result);
// Calculator cl4=new Calculator('/',0);//除数为0
// result =cl4.calculate();
// System.out.println("除数不是0的结果是:"+result);
//测试"="
Calculator cl5=new Calculator('=');//是=
//Calculator cl6=new Calculator('*');//是=
} catch (UnsupportedOperationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ArithmeticException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
0 0
- 简单的计算器功能
- 简单的计算器功能
- 简单计算器的功能实现
- 初学JAVA`` 做的简单功能计算器
- 一个能够实现简单功能的计算器
- Java实现简单计算器的加减乘除功能
- Android实现简单的计算器功能
- 编程实现简单的计算器功能
- 计算器功能简单实现
- 简单计算器-功能实现
- 简单计算器功能实现
- MFC实现简单功能计算器
- C#实现简单计算器功能
- 栈实现计算器简单功能
- C++实现简单计算器功能
- Andorid实现简单计算器功能
- 简单工厂实现计算器功能
- vs 05 c# 实现简单的计算器功能
- VC,Windbg,gdb执行到指定代码行方法
- 【小松教你手游开发】【unity实用技能】NGUI研究院之为什么打开界面太慢
- 软文要做到文章标题是吸引人的关键
- 关于用户体验
- Asp.net Mvc 中的模型绑定
- 简单的计算器功能
- Win32程序中使用 Combo box控件
- TIOBE 和 PyPI 两大编程语言排行榜哪个更靠谱
- The sum problem 2058
- Android网络编程之——Android下菜单系统模块的实现(Android客户端+服务器端Servlet+Mysql)
- opencv中cvFilter2D( ) 函数filter2D()函数与MATLAB中imfilter()函数的差异
- 二维数组地址的关系
- 树-孩子表示法
- Android ContentProvider实例