package mush.ex4_2;
import javax.swing.JOptionPane;
/**
* @author Mush
*
*/
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成的方法存根
String str = JOptionPane.showInputDialog("输入一个大于三位的整数");
int num = -1;
try{
num = Integer.parseInt(str);
}catch(Exception e){
System.out.println(e.toString());
}
if(num<99){
System.out.println("输入有误");
return;
}
sort(num);
}
/**
* 输出一个数的降序数
*
* @param num
*/
static void sort(int num) {
int[] nums = split(num);
nums = descending(nums);
int num_sort = 0;
for (int i = 0; i < nums.length; i++) {
num_sort = num_sort + nums[i]
* (int) Math.pow(10, (nums.length - i - 1));
}
System.out.println(num + "的降序数是:" + num_sort);
}
/**
* 输入一个整数,将其各个数位拆分出来以数组的形式返回
*
* @param num
* 要拆分的整数
* @return
*/
static int[] split(int num) {
// 求位长
String str = num + "";
int longth = str.length();
int[] nums = new int[longth];
for (int i = 0; i < longth; i++) {
nums[i] = num % 10;
num = num / 10;
}
return nums;
}
/**
* 将一个整形数组降序排列并返回
*
* @param nums
* 操作数组
* @return
*/
static int[] descending(int nums[]) {
for(int i = 0; i < nums.length; i++){
for(int j = i; j < nums.length; j++){
if(nums[i] < nums[j]){
int t = nums[i];
nums[i] = nums[j];
nums[j] = t;
}
}
}
return nums;
}
}
输出大于3位数的降序数
最新推荐文章于 2025-04-07 15:52:16 发布