如何获得整数的单独数字?

如何获得整数的单独数字?

我有像1100,1002,1022这样的数字。我想要一个数字,例如,对于第一个数字1100,我想有1,1,0,0。

我怎样才能在Java中得到它呢?


牧羊人nacy
浏览 511回答 3
3回答

catspeake

转换成String和使用String#toCharArray()或String#split().String&nbsp;number&nbsp;=&nbsp;String.valueOf(someInt);char[]&nbsp;digits1&nbsp;=&nbsp;number.toCharArray();//&nbsp;or:String[]&nbsp;digits2&nbsp;=&nbsp;number.split("(?<=.)");如果您已经在Java 8上了,而您碰巧想在Java 8上做一些聚合操作,那么请考虑使用String#chars()得到一个IntStream从里面出来。IntStream&nbsp;chars&nbsp;=&nbsp;number.chars();

万千封印

这个怎么样?public&nbsp;static&nbsp;void&nbsp;printDigits(int&nbsp;num)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;if(num&nbsp;/&nbsp;10&nbsp;>&nbsp;0)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printDigits(num&nbsp;/&nbsp;10); &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;System.out.printf("%d&nbsp;",&nbsp;num&nbsp;%&nbsp;10);}或者,我们可以将其收集到整数数组中,而不是打印到控制台,然后打印数组:public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;Integer[]&nbsp;digits&nbsp;=&nbsp;getDigits(12345); &nbsp;&nbsp;&nbsp;&nbsp;System.out.println(Arrays.toString(digits));}public&nbsp;static&nbsp;Integer[]&nbsp;getDigits(int&nbsp;num)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;List<Integer>&nbsp;digits&nbsp;=&nbsp;new&nbsp;ArrayList<Integer>(); &nbsp;&nbsp;&nbsp;&nbsp;collectDigits(num,&nbsp;digits); &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;digits.toArray(new&nbsp;Integer[]{});}private&nbsp;static&nbsp;void&nbsp;collectDigits(int&nbsp;num,&nbsp;List<Integer>&nbsp;digits)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;if(num&nbsp;/&nbsp;10&nbsp;>&nbsp;0)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;collectDigits(num&nbsp;/&nbsp;10,&nbsp;digits); &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;digits.add(num&nbsp;%&nbsp;10);}如果要保持数字从最小有效(索引[0])到最重要(索引[n])的顺序,则需要以下更新的getDigits():/** &nbsp;*&nbsp;split&nbsp;an&nbsp;integer&nbsp;into&nbsp;its&nbsp;individual&nbsp;digits &nbsp;*&nbsp;NOTE:&nbsp;digits&nbsp;order&nbsp;is&nbsp;maintained&nbsp;-&nbsp;i.e.&nbsp;Least&nbsp;significant&nbsp;digit&nbsp;is&nbsp;at&nbsp;index[0] &nbsp;*&nbsp;@param&nbsp;num&nbsp;positive&nbsp;integer &nbsp;*&nbsp;@return&nbsp;array&nbsp;of&nbsp;digits &nbsp;*/public&nbsp;static&nbsp;Integer[]&nbsp;getDigits(int&nbsp;num)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(num&nbsp;<&nbsp;0)&nbsp;{&nbsp;return&nbsp;new&nbsp;Integer[0];&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;List<Integer>&nbsp;digits&nbsp;=&nbsp;new&nbsp;ArrayList<Integer>(); &nbsp;&nbsp;&nbsp;&nbsp;collectDigits(num,&nbsp;digits); &nbsp;&nbsp;&nbsp;&nbsp;Collections.reverse(digits); &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;digits.toArray(new&nbsp;Integer[]{});}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java