下面这个小程序的单元测试怎么写,(参数化方法)
public class Money
{
public String MoneyToString(double x)
//将x表示的金额转换成中文大写形式
{
String yuan="亿千百拾万千百拾元角分";
String digit="零壹贰叁肆伍陆柒捌玖";
//字符串长度digit.length()为10
String result="";
int y=(int)Math.round(x*100-0.5);
//浮点数扩充100倍后取整(即保留两位小数)
System.out.println("y="+y);
int i=yuan.length()-1;
if(y%100==0){
result = "整"+result;
i=i-2;
y=y/100;
}
System.out.println("y="+y);
boolean b1=true,b2=true;
while (y>0 && i>0)
{
if(y % 10!=0)
result = ""+digit.charAt(y % 10)+yuan.charAt(i)+result;
//转换最低位,一个汉字为一个Unicode字符
else {
if(i==8){
result="元"+result;
b1=false;
}
else if(b1&&b2){
result="零"+result;
b2=false;
}
}
i--;
y=y/10;
}
return result;
}
}
------解决方案--------------------------------------------------------
[code=Java][/code]package day;
import java.util.Scanner;
public class MoneyDemo {
public static void main(String[] args) {
Money money=new Money();
Scanner console=new Scanner(System.in);
while(true){
double dou=console.nextDouble();
String str=money.MoneyToString(dou);
System.out.println(str);
}
}
}测试没问题,不知道是否符合要求。
------解决方案--------------------------------------------------------
在一个不带参数的方法里,实例化一个 Money对象,调用MoneyToString这个方法