第2个回答 2012-11-01
public static void main(String[] args) {
int num = 91684;
String str = String.valueOf(num);// 转为string : 1,为了得到长度,2为分割单个字符
//几位数
str.length();
int[] nums = new int[str.length()];
for (int i = 0; i < nums.length; i++) {
if (i < nums.length - 1) {
nums[i] = Integer.parseInt(str.substring(i, i + 1));
} else {
nums[i] = Integer.parseInt(str.substring(i));
}
}
int i = 0;
while(i<nums[i].length){
System.out.println(nums[i]);//分别输出每一位数字
}
/**按逆序输出各位数字*/
i = 0;
while (i < nums.length - 1) {// 最多做n-1趟排序
int j = 0;
/* 对当前无序区间score[0......length-i-1]进行排序(j的范围很关键,这个范围是在逐步缩小的) */ while (j < nums.length - i - 1) {
if (nums[j] > nums[j + 1]) { // 把小的值交换到后面
int temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
}
j++; }
i++; }
i = 0;
while (i < nums.length) {
System.out.println(nums[i]);
i++; }
}
这个是不是你想要的呢?