黑马程序员技术交流社区

标题: 如何从高位到低位输出一个十进制的数 [打印本页]

作者: 马欢    时间: 2012-2-16 10:32
标题: 如何从高位到低位输出一个十进制的数
本帖最后由 马欢 于 2012-2-16 11:48 编辑

比如456,如何输出4,5,6
就是由高位到低位单个输出
如果是一个未知位数的十进制数呢?
作者: 陈丹阳    时间: 2012-2-16 11:30
  1. public class Test2 {
  2.         public static void main(String[] args) {
  3.                 printNum(1456);
  4.         }
  5.         public static void printNum(int num){               
  6.                 if(num>0){                           
  7.                         printNum(num/10); //递归 每次输出一位数字,从高位开始输出
  8.                         System.out.println(num%10);
  9.                 }
  10.         }
  11. }
复制代码

作者: 陈丹阳    时间: 2012-2-16 11:33
{:soso_e103:}  递归很耗资源 - -但一冲动还是写成递归了,因为你要未知位数。
java的话 还是乖乖直接用集合吧。。
作者: 彭小芳    时间: 2012-2-16 11:42
public class Test {
        public static void main(String[] args) {               
                int i = 123456789;

                List<Integer> list = new ArrayList<Integer>();

                while (i != 0) {
                        list.add(i % 10);
                        i /= 10;
                }
               
                for(int index=list.size()-1; index>=0; index--){
                        System.out.print(list.get(index));
                }
        }
}
作者: 黄锦成    时间: 2012-2-16 11:58
一个一个字符存进Set集合里,但是要考虑数字重复的问题
作者: 丁晓宇    时间: 2012-2-16 12:59
本帖最后由 丁晓宇 于 2012-2-16 13:02 编辑

我只给思路
1、把你的那个10进制的数先转成字符串
2、将字符串按拆分成一个集合(不要用hash集合,会吃掉相同的数)
3、将集合的数字按冒泡排序
4、输出集合大功告拆




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2