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]);

       }

     

    }

  • 相关阅读:
    XML(学习笔记)
    css样式学习笔记
    Request(对象)
    sql一些错误修改的总结
    转载(如何学习C#)
    sql server(学习笔记2 W3Cschool)
    sql sqrver(学习笔记1 W3Cschool)
    关于 flutter开发碰到的各种问题,有的已经解决有的一直没解决或者用其他方法替代
    关于 Flutter IOS build It appears that your application still contains the default signing identifier.
    关于 flutter本地化问题 The getter 'pasteButtonLabel' was called on null
  • 原文地址:https://www.cnblogs.com/webplq/p/6480716.html
Copyright © 2011-2022 走看看