四则运算 测试与封装 (完善) 5.2 5.3

一、结对小伙伴:陈淑筠 http://www.cnblogs.com/babybluecsj/

二、(1)我用小伙伴上一次5.1的作业来单元测试,发现当除数为零时,运行时未抛出异常,于是我们加上了

   1.     if(fh2==‘/‘){

            if(b==0){

                throw new Exception("除数不能为0!");

            }

            answer=a/b;

        }

2. try {

             res=Calculator.Onefhnum(1,1,3);

            

        catch (Exception e) {

            e.printStackTrace();

            Assert.fail("抛出异常,测试失败!");

        }

这段代码;

(2).还发现上次作业的代码有错误,三个运算符的最后的第一个为除数没有写上:

 if(fh2==‘/‘)//第一为除
        {
            if(fh3==‘+‘)
            {
                if(fh4==‘+‘)
                {
                    if(b==0){
                        throw new Exception("除数不能为0!");
                    }
                    answer=a/b+c+d;
                }
                if(fh4==‘-‘)
                {
                    if(b==0){
                        throw new Exception("除数不能为0!");
                    }
                    answer=a/b+c-d;
                }
                if(fh4==‘*‘)
                {
                    if(b==0){
                        throw new Exception("除数不能为0!");
                    }
                    answer=a/b+c*d;
                }
                if(fh4==‘/‘)
                {
                    if(b==0){
                        throw new Exception("除数不能为0!");
                    }
                    if(d==0){
                        throw new Exception("除数不能为0!");
                    }
                    answer=a/b+c/d;
                }

            }
            if(fh3==‘-‘)
            {
                if(fh4==‘+‘)
                {
                    if(b==0){
                        throw new Exception("除数不能为0!");
                    }
                    answer=a/b-c+d;
                }
                if(fh4==‘-‘)
                {
                    if(b==0){
                        throw new Exception("除数不能为0!");
                    }
                    answer=a/b-c-d;
                }
                if(fh4==‘*‘)
                {
                    if(b==0){
                        throw new Exception("除数不能为0!");
                    }
                    answer=a/b-c*d;
                }
                if(fh4==‘/‘)
                {
                    if(b==0){
                        throw new Exception("除数不能为0!");
                    }
                    if(d==0){
                        throw new Exception("除数不能为0!");
                    }
                    answer=a/b-c/d;
                }

            }
            if(fh3==‘*‘)
            {
                if(fh4==‘+‘)
                {
                    if(b==0){
                        throw new Exception("除数不能为0!");
                    }
                    answer=a/b*c+d;
                }
                if(fh4==‘-‘)
                {
                    if(b==0){
                        throw new Exception("除数不能为0!");
                    }
                    answer=a/b*c-d;
                }
                if(fh4==‘*‘)
                {
                    if(b==0){
                        throw new Exception("除数不能为0!");
                    }
                    answer=a/b*c*d;
                }
                if(fh4==‘/‘)
                {
                    if(b==0){
                        throw new Exception("除数不能为0!");
                    }
                    if(d==0){
                        throw new Exception("除数不能为0!");
                    }
                    answer=a/b*c/d;
                }

            }
            if(fh3==‘/‘)
            {
                if(fh4==‘+‘)
                {
                    if(b==0){
                        throw new Exception("除数不能为0!");
                    }
                    if(c==0){
                        throw new Exception("除数不能为0!");
                    }
                    answer=a/b/c+d;
                }
                if(fh4==‘-‘)
                {
                    if(b==0){
                        throw new Exception("除数不能为0!");
                    }
                    if(c==0){
                        throw new Exception("除数不能为0!");
                    }
                    answer=a/b/c-d;
                }
                if(fh4==‘*‘)
                {
                    if(b==0){
                        throw new Exception("除数不能为0!");
                    }
                    if(c==0){
                        throw new Exception("除数不能为0!");
                    }
                    answer=a/b/c*d;
                }
                if(fh4==‘/‘)
                {
                    if(b==0){
                        throw new Exception("除数不能为0!");
                    }
                    if(c==0){
                        throw new Exception("除数不能为0!");
                    }
                    if(d==0){
                        throw new Exception("除数不能为0!");
                    }
                    answer=a/b/c/d;
                }

            }
        }
        return answer;

    }

(3).在此,我们还增加了答案精确到了小数后一位:

static double answer=0.0d;

public static double Onefhnum(int a,int b,int e)throws Exception{//一个运算符的方法

public static double Twofhnum(int a,int b,int c,int e,int h)throws Exception{//两个运算符的方法

public static double Threefhnum(int a,int b,int c,int d,int e,int h,int f)throws Exception{//三个运算符的方法

(4).由于时间原因,在代码中增加了:int precision = 0;

        if (NUM_MAX_OPERATOR == precision) {

            // 这里我可以处理最多三个运算符的字符串哦:)

        else if (NUM_SCALE == precision) {

            // 这里我可以处理数值范围是 -100 到 100的字符串哦:)

        else if (NUM_PRECISION == precision) {

            // 这里我可以处理精度是小数点后一位的字符串哦:)

        }

这段代码后,还不知道如何增加和处理括号里的信息。

时间: 2024-10-10 12:59:55

四则运算 测试与封装 (完善) 5.2 5.3的相关文章

作业5 四则运算 测试与封装 5.2

作业5 四则运算 测试与封装  5.2 开发环境:   Eclipse 开发人员:   欧其锋(201306114305) 余汉城(201306114317)(http://www.cnblogs.com/yuhancheng/) 分工:   欧其锋:异常处理 余汉城:重构 源代码: 1 package GongNengpk; 2 3 import GongNengpkTest.ChuShuLingException; 4 import GongNengpkTest.JCException; 5

【作业报告】作业5 四则运算 测试与封装 5.1

测试与封装 5.1 程序开发简介: [开发环境]:eclipse [开发人员]:Ives & 郑胜斌 [博客地址]:38郑胜斌 [开发时间]:2015-04-30 [版本]:5.1 [要求]: 封装 测试 封装: 概念 封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口.面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治.封装的对象,这些对象通过一个受保护的接口访问其他对象.封装是一种信息隐藏技术,在java中通过关键字private实现封装.什么是封装?封装把对象的所

练习5.1——四则运算 测试与封装

主程序 package com.h2; import java.text.DecimalFormat; import java.util.Scanner; import java.util.regex.Pattern; /* * 1.定制数量 * 2.控制是否有乘除法 * 3.控制数值范围 * 4.定制真分数练习题 * 5.校检用户输入 * 6.输出答题正确率 */ public class Main { public static int max = 10;// 控制算式个数 public s

四则运算测试与封装5.1 结对

开发环境:eclipse 结对同伴 :罗凯杰 同伴博客:http://www.cnblogs.com/lkjie/ 未封装的程序: import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Size { public static void main(String[] args) { // TODO Auto-generated method stub myframe f=new myframe(

作业5 四则运算 测试与封装 5.1

刘恒 http://www.cnblogs.com/iliuh/ chaorenken http://www.cnblogs.com/lixuanzong/ 这个是主函数 package tion; import java.util.*; import java.applet.*; //引入Applet类 import java.awt.*; import java.awt.event.*; //引入系统事件类包. public class ta extends Applet implement

练习5.1更新——四则运算 测试与封装

1 package ppackage; 2 import java.util.Random; 3 import java.util.Scanner; 4 import java.util.regex.Pattern; 5 6 7 public class Colc { 8 public int sighfh,fuhaosl; 9 public float sighsz1,sighsz2,answer2,sum2=0,sum3=0; 10 public float []sighsz=new flo

20150421 作业5 四则运算 测试与封装 5.1

import java.util.ArrayList; import java.util.Random; import java.util.Scanner; public class fengzhuang {// Software Engineering 軟件工程 作業2 static String jia = "+"; static String jian = "-"; static String cheng = "*"; static Str

作业5 四则运算 测试与封装

1 import java.math.BigDecimal; 2 import java.text.NumberFormat; 3 import java.util.*; 4 public class Core { 5 public int calc(String zifu,int max,int fanwei1,int fanwei2,int jingdu) throws ChushulingException, fanweiException, zifushuException 6 { 7

四则运算测试与封装5.2 5.3 结对

开发环境:eclipse 结对同伴 :罗凯杰 同伴博客:http://www.cnblogs.com/lkjie/ 收获与心得: 这次的编写主要是抛出程序异常,在编写过程中遇到很多的麻烦,但通过两个人的合作,共同调试从而解决问题得出结果,发现结对的编写的好处越来越多了,从中获得的知识不少,期待下次团队的合作.