您的位置:首页 > 其它

几个简单的对随机数组的操作

2014-10-27 18:28 197 查看
/**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里面有部分代码出错了,至于什么,突然也没想搞了,过段时间再看看吧
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: