A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© IT虫 中级黑马   /  2016-12-3 14:00  /  850 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package Day06;

import java.util.ArrayList;
import java.util.Scanner;

/*定义方法,接收一个int类型的数字5和一个int类型的数组,
要求:
       a.把数组中大于5的数字放入一个整数类型的集合返回到主方法
       b.在主方法中遍历大于5的数字的集合*/
public class ArrDemo {
public static void main(String[] args){
       
       
       
        int[] arr =new int [5];
        int num=5;
        Sc(arr);
        ArrayList<Integer> newlist2=show(arr,num);
       
        System.out.println("数组中比5大的有");
        for(int i =0;i<newlist2.size();i++){
                newlist2.get(i);
                System.out.print(newlist2.get(i));}
       
       
}
public static void Sc(int[]  arr ){
        Scanner sc =new Scanner(System.in);
       
        for(int i=0;i<5;i++){
                System.out.println("请输入第"+(i+1)+"个元素");
                arr[i]=sc.nextInt();
        }
       
}
public static ArrayList<Integer> show( int[] arr,int num){
        ArrayList<Integer> list= new ArrayList<Integer>();
        for(int i=0;i<arr.length;i++){
                if(arr[i]>5){
                        list.add(arr[i]);
                }
        }
       
       
        return list;
}

}

4 个回复

倒序浏览
public class test1 {
                public static void main(String [] args){
                        int a[]={2,6,7,8,23,12,3};
                        Print(a,5);               
                }
                public static int [] Print(int [] a, int b){
                        //1.挑出大于5的元素,并求出新数组的长度
                          int newlength =0;
                        //存在新数组的长度
                          //遍历出大于5的元素求出新数组的长度
                          for(int i=0;i<a.length;i++){
                                  if(a[i]>b){
                                          newlength++;
                                  }
                          }
                          int newArr[] = new int[newlength];//新数组
                          int j=0;//用来存下标
                          //再次遍历把原数组中大于b的元素赋给新数组
                          for(int i=0;i<a.length;i++){
                                  if(a[i]>b){
                                          newArr[j++]=a[i];
                                  }
                          }
                          //遍历新数组
                          for(int x:newArr){
                                  System.out.print(x+" ");
                          }                       
                          return newArr;
                }                                        
}
输出结果为: 6 7 8 23 12
本人还没学集合,试着用数组做的,如有错误,望指正!!!

回复 使用道具 举报
{:8_541:}{:8_541:}{:8_541:}
回复 使用道具 举报
{:8_541:}{:8_541:}{:8_541:}
回复 使用道具 举报
好腻害耶!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马