生辰八字为什么看得准:一个JAVA程序问题,帮忙的追加20!
来源:百度文库 编辑:杭州交通信息网 时间:2024/04/27 16:12:48
帮忙写出来的追加20!!!
可以这样写(只有 main( ) 里的调试需要 Java 5):
class C {
// 返回与中文里的个位数相对应的整数。若参数不是中文个位数则返回 -1。
static int toInt( char 中文个位 ) {
return "零一二三四五六七八九".indexOf( 中文个位 );
}
// 返回与中文数目相对应的整数。中文数目必须大于或等于零并小于一千。
static int toInt( String 中文数目 ) {
int i, result = 0;
if ( ( i = 中文数目.indexOf( '百' ) ) >= 0 ) // 百容易处理
result += 100 * toInt( 中文数目.charAt( i - 1 ) );
if ( ( i = 中文数目.indexOf( '十' ) ) >= 0 ) // 十的前面可能没有数字
result += 10 * ( i > 0 ? toInt( 中文数目.charAt( i - 1 ) ) : 1 );
int last = toInt( 中文数目.charAt( 中文数目.length( ) - 1 ) );
return result + ( last >= 0 ? last : 0 ); // 最后一个字符可能不是个位数
}
public static void main( String[ ] args ) {
for ( String s: "九百零五 五百 二百九十八 六十 三十一 十五 十 零".split( " " ) )
System.out.printf( "%-10s\t --> %5d\n", s, toInt( s ) );
}
}
只能给个思路:
如一百三十五,先查找字符如发现千、百、十就找前面的一个字符,从1到9发现哪个就乘以千、百、十,个累加。
这个地址有很多JavaScript精品源码
http://qbit.100steps.net/javascript.php
其中关于繁简体转换的你稍改改就能用了.