java将数组中小于60的数去掉再生成一个新的数组

如题所述


/**
 * 2015年4月17日下午5:37:25
 * @author season TODO
 *
 */
public class DeleteNumInArray {
    /**
     * getTagNumTotal TODO 获取数组中一共有多少个要删除的数字  
     * @param yourArr
     * @param tagNum
     * @return  int
     */
    public static int getTagNumTotal(int[] yourArr, int tagNum){
        int total  = 0;
        
        for(int index =0; yourArr!= null && index< yourArr.length; index++)
            if(yourArr[index] == tagNum)
                total++;
        return total;
    }
    
    /**
     * delNumInArray TODO 在数组中删除数字  
     * @param yourArr 数组
     * @param delNum 需要被删除的数字
     * @return  int[] 返回删除之后的新数组
     */
    public static int[] delNumInArray(int[] yourArr, int delNum){
        int[] newArr = new int[yourArr.length-getTagNumTotal(yourArr, delNum)];
        int fg=0;
        for(int index= 0; yourArr!=null && index < yourArr.length; index++){
            if(yourArr[index] != delNum){
                newArr[fg++] =  yourArr[index];
            }
        }
        
        return newArr;
    }
    
    /**
     * display TODO 显示数组的所有元素  
     * @param arr  void
     */
    public static void display(int[] arr){
        System.out.println();
        for(int index =0; arr!=null && index< arr.length; index++)
            System.out.print(arr[index]+"   ");
    }
    
    public static void main(String[] args){
        
        int[] yourArr = new int[10];
        
        for(int index =0; index< yourArr.length; index++)//赋初值
            yourArr[index] =index;
        
        display(yourArr);
        
        
        
        display(delNumInArray(yourArr, 3));//删除数组里面的3
    }

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-04-17
循环遍历这个数组,发现值大于等于60就拷贝到新的数组里就好了
第2个回答  2015-04-17
就是循环加判断嘛,编程这种东西,想学好,得自己敲敲敲,,,
你的编程水平跟你敲的代码量是成正比的,这个东西欠不下也急不得,就算欠下了 迟早也是要还的。
相似回答