用java写一个汉字数字转化成阿拉伯数字的算法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用java写一个汉字数字转化成阿拉伯数字的算法相关的知识,希望对你有一定的参考价值。

我是刚毕业的,他用这个题来面试,我疯了
例如一百五十一转化成151还有就是题目写的"此算法要运行一万次要考虑效率问题"

参考技术A 是不是这样,将一百一十五转换成115?
如果是的话,可以用String类里面的一些方法,将表示个十百千万这样的字找出来,再找到这些字的前一个字,然后乘以对应的1000或100什么的加到一起就行了。具体的自己实现吧,比如先将零到九先转换成0到9,然后用chatAt返回那个个十百千万这样的字,思路就是这样吧,这样好像有点复杂,但是如果你会正则表达式的话会简单许多的。希望能帮到你。
参考技术B public static char fn1(char a)//方法1

switch(a)

case '一':
return '1';
case '二':
return '2';
case '三':
return '3';
case '四':
return '4';
case '五':
return '5';
case '六':
return '6';
case '七':
return '7';
case '八':
return '8';
case '九':
return '1';
case '零':
return '0';

return ' ';

public static char fn2(char a)//方法2

char hanzi[]='零','一','二','三','四','五','六','七','八','九';
char alabo[]='0','1','2','3','4','5','6','7','8','9';
for(int i=0;i<10;i++)
if(a==hanzi[i])
return alabo[i];
return ' ';

public static void main(String[] args)
System.out.println(fn2('一');
本回答被提问者采纳
参考技术C public class test

public static void main(String args[])

int ss = Integer.parseInt(args[0]);
if(ss==0)
System.out.println("零");
else if (ss==1)
System.out.println("壹");
else if (ss==2)
System.out.println("贰");
else if (ss==3)
System.out.println("叁");
else if (ss==4)
System.out.println("肆");
else if (ss==5)
System.out.println("伍");
else if (ss==6)
System.out.println("陆");
else if (ss==7)
System.out.println("柒");
else if (ss==8)
System.out.println("捌");
else if (ss==9)
System.out.println("玖");
else
System.out.println("");



参考技术D public class test public static void main(String args[]) int ss没看明白你的意思,一个阿拉伯数字对应一个汉字??用俩个数组,一个是数字

java中,怎么讲一个double型数字,转化为一个String字符串?

double型数字,转化为一个String字符串
double
d
=
1.34;
String
ds
=
String.valueOf(d);
图形界面中,一个文本框中输出数字
先将数字转为字符串,如上,String.valueOf方法是表态方法,可以将long,int
,float,short,double类型的数字转为字符串.
JTextField
text
=
new
JTextField();
text.setText(ds);//注意这里是以字符串为参数的.
如果你直接用数作参数,也可以这样写的:
text.setText("3.23");
参考技术A 转换成字符串:String
str
=
String.valueOf(123.456);
文本框中输出数字:
如果是TextField就myTextField.setText(123);//会覆盖原来已有的内容
如果是TextArea就myTextArea.append(123);//在已有的内容后面追加上
参考技术B 怎么将一个double型数字,转化为一个String字符串?
String
ds
=
String.valueOf(3.1541);
图形界面中,怎么在一个文本框中输出数字。
文本框有一个构造方法,利用默认的数字初始化文本框,这个数字可以自己指定动态生成:
JTextField
fe
=
new
JTextField(123",20);
还可以这样:
fe.setText("你要填的字符串");

以上是关于用java写一个汉字数字转化成阿拉伯数字的算法的主要内容,如果未能解决你的问题,请参考以下文章

用java把阿拉伯数字转换成中文数字,怎么做

阿拉伯数字与中文数字的转换----------相互转化

java 如何把数字转化成阿拉伯语数字、波斯数字

阿拉伯数字与中文数字的转换----------相互转化

阿拉伯数字与中文数字的转换----------相互转化

如何将汉字的数字替换为阿拉伯数字