/**Numbers.class**/
package numbers_;
import java.util.Random; //导入Random包,以便直接new出生成随机数的对象public class Numbers {
/*这里定义数组*/
static int num[]=new int[50];
public void random() {
Random random = new Random();
for (int i = 0; i < num.length; i++) {
num[i]=random.nextInt(50); //加入0-50间的随机数
// System.out.println(numbers[i]); 测试是否存入随机数
}
System.out.println("\n\nyuan数组内容输出:");
for (int i = 0; i < num.length; i++) {
System.out.print(" "+num[i]);
if (i%5==0&&i!=0) {
System.out.println();
}
}
}
}
/**Insert.class**/
package numbers_;
public class Insert extends Numbers {
/*插入排序*/
public void Insert() {
for (int i = 1; i < num.length; i++) {
for (int j = 0; j < num.length; j++) {
int tmp=0;
if (num[i]>=num[j]) {
tmp=num[j];
num[j]=num[i];
num[i]=tmp;
}
}
}
System.out.println("\n被搞过后的数组内容为:");
for (int i = 0; i < num.length; i++) {
System.out.print(num[i]+" ");
if (i%5==0&&i!=0) {
System.out.println();
}
}
}
}
/**Out_sort_2_ways.class**/
package numbers_;
public class Out_sort_2_ways extends Numbers {
/*
* 本class是为了:从一个数组50个数,当中找到里边最小和最大的数,然后把最大的放在一个数组中,最小的也放在一个 数组中。找出一次后再在剩下的里边找。直到把全部数找完。
* */
int max[]=new int[30]; //定义数组max用于存放最大数
int min[]=new int[30]; //定义数组min用于存放最小数
int j = 0; //用于记录写入数据的下标
int maxxb,minxb; //用于记录在原数组中找到的最大数和最小数的下标
public void found(int maxshu,int minshu,int shuzu[]) {
boolean xieru = false;
for (int i = 0; i < shuzu.length; i++) {
if (shuzu[i]>=0) { //将已经取走的数排除
if (shuzu[i]>=maxshu) {
maxshu=shuzu[i];
maxxb=i;
}
if (shuzu[i]<=minshu) {
minshu=shuzu[i];
minxb=i;
}
if (i==shuzu.length-1) {
max[j]=maxshu;
min[j]=minshu;
xieru =true;
// maxshu=0;
// minshu=0;
}
}
}
if (xieru == true) { //确认取走数据后将下标后移一位
j++;
//下面这两行语句是为了将在元数组中取到的值覆盖,以便于除去已经取走的数
shuzu[maxxb]=-1;
shuzu[minxb]=-1;
found(Numbers.num[0], Numbers.num[0], Numbers.num);
}
}
public void show() {
System.out.println("\n元数组中的较大数为:");
for (int i = 0; i < max.length; i++) {
System.out.print(" "+max[i]);
if (i%5==0&&i!=0) {
System.out.println();
}
}
System.out.println("\n元数组中较小数为:");
for (int i = 0; i < min.length; i++) {
System.out.print(" "+min[i]);
if (i%5==0&&i!=0) {
System.out.println();
}
}
}
}
/**Sorting.class**/
package numbers_;
import java.util.Arrays;
public class Sorting extends Numbers{
/*这里对数据内容进行排序*/
public void Sorting() {
Arrays.sort(num);
System.out.println("\n\n排序后的数组内容输出:");
for (int i = 0; i < num.length; i++) {
System.out.print(" "+num[i]);
if (i%5==0&&i!=0) {
System.out.println();
}
}
}
}
/**MainClass.class**/
package numbers_;
public class MainClass {
public static void main(String[] args) {
Numbers numbers1 = new Numbers();
numbers1.random(); //测试数组内写入随机数
Sorting Sorting = new Sorting();
Sorting.random();
Sorting.Sorting();
Out_sort_2_ways out_sort_2_ways =new Out_sort_2_ways();
out_sort_2_ways.random();
out_sort_2_ways.found(Numbers.num[0], Numbers.num[0], Numbers.num);
out_sort_2_ways.show();
Insert insert = new Insert();
insert.random();
insert.Insert();
}
}
总结:Out_sort_2_ways这个class里面有部分代码出错了,至于什么,突然也没想搞了,过段时间再看看吧