比如:
现有一个整型数组(int[]),编写方法,将数组内大于等于某数的元素找出来,并存放到另外一个数组中,将该数组作为结果返回。 小弟菜鸟,请教一下大家。

解决方案 »

  1.   

    一个一个取出来和那个数比较 如果满足条件就放入另一个数组中 for循环啊
      

  2.   


    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();
    }
    }
      

  3.   


    不是作业贴,是自己发现自己对数组这一块不熟悉,于是仔细弄一下细节上的问题,自己也写了一个,不过感觉太低级别了,于是看看大家的思路
    public class Look {

    public static void main(String [] args) {
    int [] arr1 = {1, 11, 111, 5,6,9,10};
    int[] arr2 = new int[arr1.length];
    int j = 0;
    for(int i=0; i<arr1.length;i++) {
    if(arr1[i]>10 && arr1[i] == 10) {
    System.out.println(arr1[i]);
    arr2[j] = arr1[i]; 
    j++;
    }
    }
    }
    }
      

  4.   


    public class Test01 { /**
     * @param args
     */
    public int[] equalsAndBigger(int[] a, int n) {
    int[] b;
    int m = 0;
    for (int i = 0; i < a.length; i++) {
    m++;
    if (a[i] > n || a[i] == n) {
    break;
    }
    }
    if (m > 0) {
    int b_length = a.length - m; 
    b = new int[b_length];
    for (int i = m,j = 0; i <a.length&&j<b.length; i++,j++) {
    b[j] = a[i];
    }
    return b;
    }else{
    b = new int[0];
    return b;
    }

    }

    public static void main(String[] args) { //如果数组之前没有排好序可以使用Arrays.sort()方法进行排序
    int a [] = {1,2,3,4,5,6,7,8,9,32,34,54,465};
        int n = 1000;
        
        Test01 t01 = new Test01();
        int b[] = t01.equalsAndBigger(a, n);
        if (b.length ==0) {
    System.out.println("无");
    } else {
    for (int i = 0; i < b.length; i++) {
    System.out.print(b[i] + " ");
    }
    }
    }}