A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 马欢 黑马帝   /  2012-2-16 10:32  /  2534 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 马欢 于 2012-2-16 11:48 编辑

比如456,如何输出4,5,6
就是由高位到低位单个输出
如果是一个未知位数的十进制数呢?

评分

参与人数 1技术分 +1 收起 理由
唐秀启 + 1

查看全部评分

5 个回复

倒序浏览
  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. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
唐秀启 + 1

查看全部评分

回复 使用道具 举报
{:soso_e103:}  递归很耗资源 - -但一冲动还是写成递归了,因为你要未知位数。
java的话 还是乖乖直接用集合吧。。

评分

参与人数 1技术分 +1 收起 理由
唐秀启 + 1

查看全部评分

回复 使用道具 举报
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));
                }
        }
}

评分

参与人数 1技术分 +1 收起 理由
唐秀启 + 1

查看全部评分

回复 使用道具 举报
一个一个字符存进Set集合里,但是要考虑数字重复的问题
回复 使用道具 举报
本帖最后由 丁晓宇 于 2012-2-16 13:02 编辑

我只给思路
1、把你的那个10进制的数先转成字符串
2、将字符串按拆分成一个集合(不要用hash集合,会吃掉相同的数)
3、将集合的数字按冒泡排序
4、输出集合大功告拆
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马