日期:2014-05-20  浏览次数:20600 次

Java 求整数的各位数大小

比如1234 能够的出每位数分别是int类型 1,2 ,3 ,4;
请不要使用toString方法,输出结果不要char类型;
不管数组还是容器形式输出都行。麻烦各位大侠了!


还有在下的编程经验太少,各位有什么好办法,或者好题目,以便我快速提高编程水平!
------最佳解决方案--------------------
那就这样吧

int value = 1234;
List<Integer> result = new LinkedList<Integer>();
while(value != 0) {
result.add(0, value%10);
value = value / 10;
}
System.out.println(result);

------其他解决方案--------------------
也不知道你要的是不是这样
String str = "1234";
int strLength = str.length();
int[] a = new int[strLength];
for(int i=0;i<strLength;i++){
a[i]=Integer.parseInt(str.substring(i, i+1));
}
System.out.println(a[0]);
------其他解决方案--------------------

int value = 1234;
String sValue = Integer.toString(value);
int size = sValue.length();
int[] result = new int[size];
for (int i = 0; i < size; i++)
result[i] = sValue.codePointAt(i) - '0';

System.out.println(Arrays.toString(result));

------其他解决方案--------------------
引用:
那就这样吧
Java code12345678int value = 1234;List<Integer> result = new LinkedList<Integer>();while(value != 0) {    result.add(0, value%10);    value = value / 10;}System.out.println(result)……


正解
------其他解决方案--------------------
引用:
也不知道你要的是不是这样
String str = "1234";
int strLength = str.length();
int[] a = new int[strLength];
for(int i=0;i<strLength;i++){
a[i]=Integer.parseInt(str.substring(i, i+1));
}
System.o……


前面是int n = 1234;
不是 String类型。
------其他解决方案--------------------
引用:
Java code123456789int value = 1234;String sValue = Integer.toString(value);int size = sValue.length();int[] result = new int[size];for (int i = 0; i < size; i++)    result[i] = sValue.cod……

在前面剪掉'0'倒是不错的想法,不过,不知道有没有更好的办法,就是不用转换为char类型再转换回来的方法。谢谢了。
------其他解决方案--------------------
楼主就不知道变通下吗。。。
int num = 1234;
String str = String.valueOf(num);
int strLength = str.length();
int[] a = new int[strLength];
for(int i=0;i<strLength;i++){
a[i]=Integer.parseInt(str.substring(i, i+1));
}
System.out.println(a[0]);
------其他解决方案--------------------
求余然后存入数组就OK了
------其他解决方案--------------------
求余然后存入数组就OK了
------其他解决方案--------------------