zoukankan      html  css  js  c++  java
  • 数组练习题

    1.将数组{4,0,5,8,2,0,6,8,3}中的0去掉后返回一个新数组

    public class Task {

     

       public static void main(String[] args) {

         

       //将数组{4,0,5,8,2,0,6,8,3}中的0去掉后返回一个新数组。

          int[] arr ={4,0,5,8,2,0,6,8,3};//定义一个原来的数组

          int[] arr1 ={};//定义一个新的数组

          //循环遍历,判断如果为不为0,则利用数组的赋值 Arrays.copyOf();方法进行数组的复制

          for(int i=0; i<arr.length; i++)

          {

             if(arr[i]!=0)

             {

                arr1=Arrays.copyOf(arr1, arr1.length+1);//数组复制

                arr1[arr1.length-1]=arr[i];

             }

          }

          //增强for循环

          for(int x : arr1)

          {

             System.out.println(x+" ");

          }

          /*for(int j=0; j<arr1.length;j++)

          {

             System.out.println(arr1[j]+" ");

          }*/

          System.out.println();

       }

     

    }

    2.现在给出两个数组,数组A“1791113151719

          数组B“246810”两个数组合并为数组C,按升序排列

    public class Task2 {

     

       public static void main(String[] args) {

          // TODO Auto-generated method stub

     

          /*现在给出两个数组,数组A:“1,7,9,11,13,15,17,19;

          数组B:“2,4,6,8,10”两个数组合并为数组C,按升序排列*/

          //定义三个数组

          int[] a={1,7,9,1,13,15,17,19};

          int[] b={2,4,6,8,10};

          int[] c=new int[a.length+b.length];

         

       for(int i=0;i<a.length; i++)//代表轮数,选出几个最大的。数组长度-1

       {

          c[i]=a[i];//数组a存到c中

       }

       for(int i=0; i<b.length; i++)

       {

          c[i+a.length]=b[i];//数组b存到c中

       }

          for(int x: c )//增强for循环

          {

            

            

             //冒泡排序

             for(int i=0;i<c.length-1; i++)//代表轮数,选出几个最大的。数组长度-1

             {

                for(int j =0; j<c.length-i-1; j++ )//比较相邻的元素,大的往后,比较次数=长度-1-i

                {

                  //比较

                    if(c[j]>c[j+1])

                    {

                       int temp =c[j];

                       c[j]=c[j+1];

                       c[j+1]=temp;

                    }

                }

             }

             System.out.println(x);  

            

          }

       }

    }

    3.输出1 1 2 3 5 8 13……这样的Fibonacci数列,

    //    输出该数列的前20个数字

    public class Task3 {

     

       public static void main(String[] args) {

          // TODO Auto-generated method stub

    //    输出1 1 2 3 5 8 13……这样的Fibonacci数列,

    //    输出该数列的前20个数字

         

          int[] a=new int[20];//定义一个元素20的数组

          int i =0;

          //前两个数都是1,之后都是前两个数之和为下一个数

         

          for(i=0;i<20;i++)

          {

             //判断数组前俩元素都为1

             if(i==0 || i==1)

             {

                a[i]=1;

             }else//其他元素

             {

                a[i]=a[i-1]+a[i-2];

               

             }

             System.out.print(a[i]+",");

          }

         

       }

     

    }

    4.歌手打分:在歌唱比赛中,共有10位评委进行打分,

          在计算歌手得分时,去掉一个最高分,去掉一个最低分,

          然后剩余的8位评委的分数进行平均,就是该选手的最终得分。

          输入每个评委的评分,求某选手的得分。

    public class Task4 {

     

       public static void main(String[] args) {

          // TODO Auto-generated method stub

          /*歌手打分:在歌唱比赛中,共有10位评委进行打分,

          在计算歌手得分时,去掉一个最高分,去掉一个最低分,

          然后剩余的8位评委的分数进行平均,就是该选手的最终得分。

          输入每个评委的评分,求某选手的得分。*/

         

          int[] arr=new int[10];//定义数组

          //变量

          int max=arr[0];

          int min=arr[0];

          int sum=0;

          int i;

          float avg;

          //创建Scanner对象

          Scanner scanner=new Scanner(System.in);

          System.out.println("输入十位评委的分数");

          for( i=0;i<10; i++)

          {

             arr[i]= scanner.nextInt();//输出10数

             sum+=arr[i];//和

            

             /*if(arr[i]>max)

             {

                max=arr[i];

               

             }

             if(arr[i]<=min)

             {

                min=arr[i];

             }*/

             //排序

             Arrays.sort(arr);

             //最大值

             max=arr[arr.length-1];

             //

             min=arr[0];

          }

          //平均分

          avg=(sum-min-max)/8.0f;

          /*System.out.println("歌手的最大值:"+max);

          System.out.println("歌手的最小值:"+min);*/

          System.out.println("歌手的平均值:"+avg);

       }

     

    }

     

    5.判断一个数组{1,2,3,1,0}中是否存在相同的元素,

    //    如果存在相同的元素则输出重复,否则输出不重复

     

    public class Task5 {

       /*假设数组中的元素不重复,两两比较数组中的元素,

       如果有一组元素相同,则数组中存储重复,结束循环。

       把比较的结果存储在一个标志变量里,最后判断标志变量的值即可。*/

       public static void main(String[] args) {

          // TODO Auto-generated method stub

    //    判断一个数组{1,2,3,1,0}中是否存在相同的元素,

    //    如果存在相同的元素则输出“重复”,否则输出“不重复”

          //定义一个数组

          int[] a={1,2,3,1,0}; //定义数组

          //定义变量

          int i;

          int j;

         

          for(i=0; i<a.length-1; i++)

          {

             for(j=i+1; j<a.length; j++)

             {

                //如果有一组元素相同,则数组中存储重复,结束循环。

                if(a[i]==a[j])

                {

               

                    System.out.println("重复");

                }else

                {

                    System.out.println("不重复");

                }

             }

          }

       }

     

    }

    6.将十进制整数35转换为二进制数。(选作)

     

    public class Task6 {

       /*将除二取余得到的第一个数字存储在数组中第一个元素,

       第二次得到的余数存储在数组中第二个元素,依次类推,

       最后反向输出获得的数字即可。*/

       public static void main(String[] args) {

          // TODO Auto-generated method stub

    //    将十进制整数35转换为二进制数。(选作)

         

          int x=35;//把35赋值给x

          int a[]=new int[32];//定义一个数组  /  二进制是32位

          for(int i=0;i<32;i++)

          {

          a[i]=x%2;//存储元素 

          x/=2;

          }

          for(int i=a.length-1;i>=0;i--)//每存储一个数 减1

          System.out.print(a[i]);

       }

     

    }

  • 相关阅读:
    mysql允许远程访问
    ubuntu pip install MySQL-python mysql_config not found
    ubuntu 阿里云源
    V
    KMP算法之next函数解释(大量的反证法 和数学归纳法来袭)
    日常ACM题目
    F
    J
    中缀表达式求值 ,中缀表达转化为后缀表达式求值,
    数据结构
  • 原文地址:https://www.cnblogs.com/webplq/p/6480716.html
Copyright © 2011-2022 走看看