public class NumRmd
{
private String[] hanArr={"壹","贰","叁","肆","伍","陆","柒","捌","玖"};
private String[] unitArr={"拾","佰","仟"};
private String toHanStr(String numStr)
{
String result= "";
int numLen=numStr.length();
for(int i=0;i<numLen;i++)
{
int num=numStr.charAt(i)-48;
if(i!=numLen-1 && num!=0)
{
result += hanArr[num]+unitArr[numLen-2-i];
}
else
{
result += hanArr[num];
}
}
return result;
}
public static void main(String[] args)
{
NumRmd nr=new NumRmd();
System.out.println(nr.toHanStr("619"));
}
}
不清楚为什么 会发生这样情况那怎么改呢?
{
private String[] hanArr={"壹","贰","叁","肆","伍","陆","柒","捌","玖"};
private String[] unitArr={"拾","佰","仟"};
private String toHanStr(String numStr)
{
String result= "";
int numLen=numStr.length();
for(int i=0;i<numLen;i++)
{
int num=numStr.charAt(i)-48;
if(i!=numLen-1 && num!=0)
{
result += hanArr[num]+unitArr[numLen-2-i];
}
else
{
result += hanArr[num];
}
}
return result;
}
public static void main(String[] args)
{
NumRmd nr=new NumRmd();
System.out.println(nr.toHanStr("619"));
}
}
不清楚为什么 会发生这样情况那怎么改呢?
public class NumRmd {
private String[] hanArr = { "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };
private String[] unitArr = { "拾", "佰", "仟" }; private String toHanStr(String numStr) {
String result = "";
int numLen = numStr.length();
for (int i = 0; i < numLen; i++) {
int num = numStr.charAt(i) - 48;
//下面两处的num改为num-1,因为按你声明的,下标0对应壹,依次类推
if (i != numLen - 1 && num != 0) {
result += hanArr[num-1] + unitArr[numLen - 2 - i];
} else {
result += hanArr[num-1];
}
}
return result;
} public static void main(String[] args) {
NumRmd nr = new NumRmd();
System.out.println(nr.toHanStr("619"));
}
}楼主以后碰到这种情况,自己debug进去看看!