几个简单的对随机数组的操作
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里面有部分代码出错了,至于什么,突然也没想搞了,过段时间再看看吧
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里面有部分代码出错了,至于什么,突然也没想搞了,过段时间再看看吧
相关文章推荐
- 简单代码JS随机,数组操作,延时执行
- 几个关于随机数组产生的函数 包括各类可重复或不重复
- python整理一——解释器上的几个简单操作
- php入门学习知识点五 关于php数组的几个基本操作
- 几个简单操作即可由普通用户提升至root了
- linux中几个简单的网络操作命令
- 二分法的应用----------利用随机类生成数组,并用二分法对数组的元素进行查找以及插入操作
- 简单的数组操作字符串,加密可用
- struts2的s:iterator 可以遍历 数据栈里面的任何数组,集合等等 以下几个简单的demo:
- Win7系统技巧:几个节省小技巧使操作步骤更简单
- objective c中的数组和简单操作(四)
- 简单总结一下.net获得虚拟目录几个基本操作
- Armboot的几个简单操作指令
- javascript splice数组简单操作
- 简单的2维数组操作
- 准备规划规划LumaQQ.NET,制作一套操作指令出来,已有几个简单指令
- javascript splice数组简单操作
- php简单数组操作,注意array_values()是重构数组
- 关于java整形数组的两个简单操作
- 从数组中随机抽取几个元素形成新的数组