javaSE_06Java中的数组(array)-提高练习

来源:互联网 发布:淘宝2016双十一销售额 编辑:程序博客网 时间:2024/05/17 02:44

1.求1!+2!+3!+···+30!的和,定义一个方法

public class Test1{    public static void main(String[] args){        //1.求1!+2!+3!+···+30!的和,定义一个方法        long sum=0;        for(int i=1;i<=30;i++){            sum+=getJieCheng(i);        }        System.out.println("sum="+sum);    }    public static int getJieCheng(int a){        int jieCheng=1;        for(int i=1;i<=a;i++){            jieCheng*=i;        }        return jieCheng;    }}

2.定义一个整型数组,求数组中奇数的个数和偶数的个数

public class Test2{    public static void main(String[] args){        //2.定义一个整型数组,求数组中奇数的个数和偶数的个数        int[] arr={1,3,5,6,2,56,5};        //偶数的个数        int count=0;        for(int i=0;i<arr.length;i++){            if(arr[i]%2==0){                count++;            }        }        System.out.println("Evencount="+count);        System.out.println("Oddcount="+(arr.length-count));    }}

3.oddArr={1,3,5,0,0,6,6,0,5,4,7,0,5}要求将数组中为0的项去掉,将不为0的项存入一个新数组

public class Test3{    public static void main(String[] args){        //3.oddArr={1,3,5,0,0,6,6,0,5,4,7,0,5}        //要求将数组中为0的项去掉,将不为0的项存入一个新数组        int[] oddArr={1,3,5,0,0,6,6,0,5,4,7,0,5};        //计算数组中0的个数,为新数组做准备        int count=0;        for(int i=0;i<oddArr.length;i++){            if(oddArr[i]==0){                count++;            }        }        //创建新数组        int count1=0;        int[] newArr=new int[oddArr.length-count];        for(int i=0;i<oddArr.length;i++){            if(oddArr[i]!=0){                count1++;                newArr[count1-1]=oddArr[i];            }        }        for(int m:newArr){            System.out.print(m+" ");        }    }}

4.有30个0~9之间的数字,统计0~9中每个数字出现的次数

import java.util.Arrays;public class Test4{    public static void main(String[] args){        //有30个0~9之间的数字,统计0~9中每个数字出现的次数        //int random=(int)(Math.random()*10);        int[] arr=new int[30];        //给数组赋值        for(int i=0;i<arr.length;i++){            arr[i]=(int)(Math.random()*10);        }        //统计每个数的出现的次数        int[] count=new int[10];        for(int i=0;i<count.length;i++){            for(int j=0;j<arr.length;j++){                if(arr[j]==i){                    count[i]++;                }            }        }        System.out.println("原数组中的值:"+Arrays.toString(arr));        System.out.println("从0~9每个数字出现的次数:"+Arrays.toString(count));    }}

5.在排序好的数组中添加一个数字,将数字放在一个合适的位置

import java.util.Arrays;public class Test5{    public static void main(String[] args){        //5.在排序好的数组中添加一个数字,将数字放在一个合适的位置        int[] arr=new int[20];        //给数组添加数字        for(int i=0;i<arr.length;i++){            arr[i]=(int)(Math.random()*30)+1;        }        System.out.println("原数组:"+Arrays.toString(arr));        //给数组排序        //选择排序        for(int i=0;i<arr.length-1;i++){            int index=i;            for(int j=i+1;j<arr.length-1;j++){                if(arr[index]>arr[j]){                    index=j;                }            }            //实现交换            int temp=arr[i];            arr[i]=arr[index];            arr[index]=temp;        }        System.out.println("排好序的数组:"+Arrays.toString(arr));        //定义一个放入的数字        int a=5;        //先获取数字应该放入的位置        int count=0;        for(int i=0;i<arr.length;i++){            if(arr[i]<a){                count++;            }        }        //将新的数字放到数组中        int[] newArr=new int[21];        for(int i=0;i<newArr.length;i++){            if(i<=count){                newArr[i]=arr[i];            }else if(i==count+1){                newArr[i]=a;            }else{                newArr[i]=arr[i-1];            }        }        System.out.println("插入数字后的新数组:"+Arrays.toString(newArr));    }   }
0 0