将int转换为java中各个数字的字符串

时间:2014-02-26 16:24:09

标签: java

我有一个赋值,我必须将int转换成一串数字,如此,

123:一二三

193:一九三三

我不能使用String.valueof()方法然后转换为char数组!这样做有什么其他方式?模量

3 个答案:

答案 0 :(得分:0)

第1步:将你的int转换为字符串(new Integer(123).toString())

第2步:在你的字符串上循环(在每个字符上)

步骤3:在循环中,打开值,从0到9,打印表示数字的实际单词

所以看起来像:

String intStringValue = new Integer(123).toString();
for( char c : intStringValue.toCharArray() ) {
    int digit = Integer.parseInt(new String(new char[] {c}));
    switch(digit){
         case 0: System.out.print("zero "); break;
         case 1:....
    }
}

答案 1 :(得分:0)

public class HelloWorld{

     public static void main(String []args)
     {
       String values[]={"zero","one","two","three","four","five","six","seven","eight","nine"};
       int number=453;
       String num=Integer.toString(number);
       for(int i=0;i<num.length();i++)
           {
           char index=num.charAt(i);
            System.out.print(values[Character.getNumericValue(index)]);
} }}

您可以尝试此解决方案。它有效。

答案 2 :(得分:0)

好吧,我不会给你任何代码,但也许是一些段落形式的伪代码和一个让你开箱即用的想法,因为你并不总是有一个预先准备好的方法。如果你找不到另一种方法,最糟糕的情况就是考虑如何分解它。

输入格式化的数字系统是什么?是二进制,十六进制,十进制吗?找出该数字系统中任何给定数字的可能值范围,并创建一个或两个代码,以确定该范围内该数字的编号。

在二进制中我们知道一个数字可以是1或0,所以对于任何连续数字长度中的每个可能的数字,我们知道这些数字中只有两个可能的字符串表示是“一”和“零” 。

您不需要在分析数字时使用单一方法,也不需要使用方法连接到您正在创建的String。

如果你试图将数字作为它真正代表的整数来处理,你可以拥有任意数量的可能性,就像int数据类型一样大(2到32的幂= 4294967296可能的数字组合 - 有很多种可能性要检查,你最好写一个程序来编写你的程序块!!),但如果你逐个数字处理int,你可以 - 在WORST - 10种可能的组合(0-9包含)乘以按位数,最多为int(十进制形式)中的10位数。而且,在前一种情况下,你必须在一个巨大的荒谬迭代中检查每一个数字。在后一种情况下,您只需要检查10个值,并根据数字中的位数迭代1-10次。

enter image description here