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

/**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里面有部分代码出错了,至于什么,突然也没想搞了,过段时间再看看吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值