/*
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:
* 作 者: 张传新
* 完成日期:2012 年09 月22日
* 版 本 号: J.1.05
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:对于一个大于3位数的任意整数,输出其降序数。例如,整数82319,则其降序数是98321.
*算法提示:将整数的各位数分解到一维数组a中,再将a数组中的元素按降序排序,最后输出a数组元素值。
* 程序输出:输出一个数的降序数
* 问题分析:将一个数的每一位俺降序排序
* 算法设计:将当前数的每一位提取出来,放到奖励好的数组中,咽喉用冒泡排序法排序数组中元素,最后将数组元素输出。
*/
public class TestSort {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
sort(82319);
}
//求所给数的降序数
static void sort(int n){
int Sort[];//创建一个数组
Sort = new int [5];//为数组开辟一个新的空间
int m = n;
for(int i = 0;m > 0;i++){//将每一位数字分解保存在数组中
int s;
s = m % 10;
m = m / 10;
Sort[i] = s;
}
for(int i = 1;i < Sort.length;i++){//冒泡排序数组中元素
for(int j = 0; j < i;j++){
if(Sort[i] > Sort[j]){
int t;
t = Sort[i];
Sort[i] = Sort[j];
Sort[j] = t;
}
}
}
System.out.println(n+"的降序数为:");
for(int i = 0;i <Sort.length;i++){
System.out.print(Sort[i]);
}
}
}
运行结果:
82319的降序数为:
98321
经验积累:java中数组的建立与c++种不同。
首先,声明数组,这仅仅给出数组名字和数组的数据类型,int Sort[];其次,为数组分配内存空间,Sort= new int[5]。