zoukankan      html  css  js  c++  java
  • javaSE_06Java中的数组(array)-提高练习

    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));
        }   
    }
  • 相关阅读:
    原来真的不会用指针[*p++]
    关于arm-linux-gcc的安装与配置
    Linux串口编程のtermios 结构
    alarm函数可以定时
    FFMPEG视音频解码【一】
    随机数组的生成方法
    .net 容器类
    (转)Kinect背景移除支持多人
    (转)MFC美化
    (转)美化Button必备
  • 原文地址:https://www.cnblogs.com/TCB-Java/p/6770150.html
Copyright © 2011-2022 走看看