62,614
社区成员
发帖
与我相关
我的任务
分享
import java.util.Random;
import java.util.Scanner;
public class Find {
public static void main(String[] args) {
Random random = new Random();
int[] arr = new int[10];
//随机生成一个数组
for(int i=0; i<arr.length; i++) {
arr[i] = random.nextInt(100);
}
System.out.print("查找前的数组:");
print(arr);
int[] result = find(arr,50);
System.out.print("查找到的数组:");
print(result);
}
/**
* 找出数则arr中大于等于num的数,作为一个数组返回
* @param arr 源数组
* @param num 要查找的数
* @return 得到的数组
*/
private static int[] find(int[] arr, int num) {
//先定义一个长度和arr一样的数组,来存放大于等于num 的所有元素
int[] temp = new int[arr.length];
int count = 0;//计数,大于等于num的元素的个数
for(int i=0; i<arr.length; i++) {
if(arr[i] >= num) {
temp[count++] = arr[i];
}
}
//定义一个长度为元素个数的数组,并从temp中拷贝元素
int[] result = new int[count];
System.arraycopy(temp, 0, result, 0, count);
return result;
}
/**
* 打印数组
* @param arr
*/
private static void print(int[] arr) {
for(int i=0; i<arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
}
}