黑马程序员技术交流社区

标题: 输入一个两位以上的数字整数,各位数字从小到大输出 [打印本页]

作者: yuhongzhen    时间: 2015-11-27 22:31
标题: 输入一个两位以上的数字整数,各位数字从小到大输出
思路:
      将输入的整数转化为字符串->字符数组->字符数组元素char->int->存入int数组,再进行排序,输出。反复转换很麻烦,请问有更好的办法吗?
                public static void sort(){
               //接受键盘输入
                Scanner scanner = new Scanner(System.in);
                //判断输入的内容
                if (scanner.hasNextInt()) {
                        int a=scanner.nextInt();
                }
               //将整数转化为char数组
                char[] ch=Integer.toString(a).toCharArray();
                //定义一个整数数组
                int [] chInt=new int[ch.length];
                //遍历char数组,并转换元素为整数,存入整数数组
                for(int a=0;a<ch.length;a++){
                        String s=String.valueOf(ch[a]);//char转String
                        chInt[a]=Integer.parseInt(s);//String转int,存入整数数组
                }
                //遍历整数数组,进行排序
                for(int i=0;i<chInt.length-1;i++){
                        for(int j=i+1;j<chInt.length;j++){
                                if(chInt[j]<=chInt[i]){
                                        int temp=chInt[i];
                                        chInt[i]=chInt[j];
                                        chInt[j]=temp;
                                }
                        }
                }
                //输出结果
                for(int b:chInt){
                        System.out.print(b+",");
                }
}






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