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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Captainor 初级黑马   /  2019-3-11 19:04  /  599 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Captainor 于 2019-3-11 19:07 编辑

数组去重的三种方法【1、2方法 不适合数组中本身含有0的,第二种带排序,一三原序】
【第一种】
public static void main(String[] args) {
        int [] arr={1,1,3,3};
        int [] temp=new int[arr.length];
        int index=0;
        for (int i=0;i<arr.length;i++)
        {
           boolean b=pp(temp,arr);
                   if(!b)
                   {
                   temp[index]=arr;
                   index++;
                       System.out.print(arr+"  ");
                   }
        }
    }
    public static boolean pp(int[] arr,int num) {
       for(int i=0;i<arr.length;i++)
       {
          if(arr==num)
          {
            return true;
          }
       }
  return false;
    }

【第二种】
    public static void main(String[] args) {
        int []arr=new int[]{1,5,2,6,5,6};
        int []temp=new int[arr.length];
        int []temp1=new int[arr.length];
        Arrays.sort(arr);
        System.out.println(Arrays.toString(arr));
        int count =0;
     for (int i=0;i<arr.length;i++)
     {
                if (arr != temp[0]) {
                 temp[0] = arr;
                 temp1[count]=arr;
                 System.out.print(temp[0] + " ");
                 count++;
             }
     }
        System.out.println();
        System.out.println(count);

for(int k=0;k<count;k++)
{
    System.out.print(temp1[k] +" ");
}
    }

【第三种】
public static void main(String[] args) {
        int[]arr={0,1,5,6,7,5,0,0};
        List<Integer> list=new ArrayList<Integer>();
        for (int i=0;i<arr.length;i++)
        {
            if(!list.contains(arr))
            {
                list.add(arr);
            }
        }
        System.out.println(list);
    }

【判断100以内质数的方法】

public static void main(String[] args) {
        //定义质数总和变量
        int sum=0;
        //质数从2开始判断到100
        for(int i=2;i<=100;i++)
        {
            int count=0;
            for(int j=1;j<=i;j++)
            {
             if (i%j==0)
             {
              count++;
             }
            }
            //当该数除到该数完成后,判断其是否没余数的是2个除数
            if(count==2)
            {System.out.println(i);
              sum=sum+i;}
        }
        System.out.println(sum);
    }



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马