代码改变世界

5.2 5.3测试与封装

2015-05-12 17:09  可乐1230  阅读(109)  评论(0编辑  收藏  举报

程序代码

import java.text.DecimalFormat;
import java.util.Scanner;

public class Zhidao {
	
	public static void main(String[] args) {
		String condition = "";
		Zhidao zhidao = new Zhidao();
		do{
		Scanner scanner = new Scanner(System.in);
		try{
		System.out.print("请输入第一个数:");
		double x = scanner.nextDouble();
		System.out.print("请输入第二个数:");
		double y = scanner.nextDouble();
		System.out.print("请输入运算符:");
		String s = scanner.next();
		char z = s.charAt(0);
		zhidao.yunsuan(x, y, z);
		}catch(Exception e){
			System.out.println("请输入正确的数据!");
		}
		System.out.print("是否继续?continue:继续,任意字符:结束");
		condition = scanner.next();
	
		}while("continue".equals(condition));
	}
	
	public static void yunsuan(double x,double y,Character z){
		DecimalFormat r=new DecimalFormat(); 
		r.applyPattern("#0.00");
		if(z.equals('+')){
			System.out.println(x+"+"+y+"=" + r.format((x+y)));
		} else if(z.equals('-')){
			System.out.println(x+"-"+y+"=" + r.format((x-y)));
		} else if(z.equals('*')){
			System.out.println(x+"*"+y+"=" + r.format((x*y)));
		} else if(z.equals('/')){
			if(y==0){
				System.out.println("被除数不能为0");
			} else{
				System.out.println(x+"/"+y+"=" + r.format((x/y)));
			}
	
		}else{
			System.out.println("无法识别改运算符");
		}
	}

}public int jianfa(int a,int b) throws Error//减法
    {
        if(a>100||b>100||a<-100||b<-100)
        {
            throw new Error("数值范围不能超出-100到100");
        }
        return a*b;

  

  

测试代码


import static org.junit.Assert.*;

import org.junit.Test;


public class Test {

    @Test
    public void testTiM() throws Error {
        yunsuan s=new s();
        String result=s.jianfa(3,2);
        assertEquals(1,result);
        
    }

}