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

    题目(1,2是进阶)

    1.输入1100之间的任意整数然后计算这些整数中每个数出现的次数

    例如

    输入

    2203218

    输出

    0---->11---->12---->33---->18---->1

    2.输入10个个位整数去掉重复数字并由大到小排序

    3.有两个整数型数组长度相同输入数组各项完成输入后判断两个数组的每个数组位置的值是否相同如果都相同则输出true反之则输出false

    4.手动输入一个长度为10的数组判断数组中是否存在四个连续相等的数值如果存在则输出true,反之输出false

    5.手动输入两个数组将两个数组整合成为一个数组并由大到小进行排序

    程序

    /* date:2021.08.05;
      * editor:陆双
      * 一维数组二维数组练习题
      */
    @Test
    public void homework1() { System.out.print("请输入0-100间的任意整数:"); String s=new Scanner(System.in).next(); String[] arr=s.split(","); int[] res={0,0,0,0,0,0,0,0,0,0}; for(int i=0;i<arr.length;i++) { int resi=Integer.parseInt(arr[i]); if(resi>0&&resi<10)//如果是一位数字,直接取模(不然如果也取余就会多增加很多零的个数) { int a=resi%10; switch (a) { case 0: case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9: res[a]++; break; default: break; } } else if(resi<100)//如果是两位数字,需要取模,取余 { int a=resi%10; int b=resi/10; switch (a) { case 0: case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9: res[a]++; break; default: break; } switch (b) { case 0: case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9: res[b]++; break; default: break; } } else { System.out.println("输入数字不在范围0-100之间!"); } } for(int i=0;i<10;i++) { System.out.println(i+"-->"+res[i]+"次"); } } @Test public void homework2() { Scanner s=new Scanner(System.in); int[] arr=new int[10]; for(int i=0;i<10;i++) { System.out.print("请输入整数:"); arr[i]=s.nextInt(); } int[] res=new int[arr.length]; int count=0; for(int i=0;i<arr.length-1;i++)//如果有相同的元素,除了第一个其他相同的都赋值为一个固定的666,如果遍历时候发现元素是666,不做判断,继续下一个循环 { if(arr[i]!=666) { for(int j=i+1;j<arr.length;j++) { if(arr[i]==arr[j]) arr[j]=666; else if(j==(arr.length-1)) { res[count]=arr[i]; count++; } } } } res=Arrays.copyOf(res, count); // for(int i=0;i<arr.length-1;i++)//第二种方法,两两判断(这种比上面的复杂度高一些) // { // if(arr[i]!=arr[i+1]) // { // for(int j=0;j<res.length;j++) // { // if(arr[i]==res[j]) // { // break; // } // else // { // if(j==res.length-1){ // res=Arrays.copyOf(res, res.length+1); // res[res.length-1]=arr[i]; // // break; // } // } // } // } // else // { // continue; // } // } // if(arr[length-1]) // for(int j=0;j<res.length;j++)//判断最后一位 // { // if(arr[arr.length-1]==res[j]) // { // break; // } // else // { // res=Arrays.copyOf(res, res.length+1); // res[res.length-1]=arr[arr.length-1]; // break; // } // } // for(int i=0;i<res.length;i++)//输出检验 { System.out.print(res[i]); if(i!=res.length-1) { System.out.print(","); } } Arrays.sort(res); System.out.println(); for(int i=res.length-1;i>=0;i--)//排序 { System.out.print(res[i]); if(i!=0) { System.out.print(","); } } } @Test public void homework3() { Scanner s=new Scanner(System.in); int[] a=new int[5]; int[] b=new int[5]; boolean c=true; System.out.println("请输入第1个数组:"); for(int j=0;j<a.length;j++) { a[j]=s.nextInt(); } System.out.println(); System.out.println("请输入第2个数组:"); for(int j=0;j<b.length;j++) { b[j]=s.nextInt(); } for(int i=0;i<a.length;i++) { if(a[i]==b[i]) { continue; } else { c=false; break; } } if(c) { System.out.println("true"); } else { System.out.println("false"); } } @Test public void homework4() { Scanner s=new Scanner(System.in); int[] arr=new int[10]; for(int i=0;i<10;i++) { System.out.println("请输入第"+i+"个数字"); int num=s.nextInt(); arr[i]=num; } int count=0; for(int i=0;i<arr.length-3;i++) { boolean a=arr[i]==arr[i+1]; boolean b=arr[i+1]==arr[i+2]; boolean c=arr[i+2]==arr[i+3]; if((a&b)&c) { System.out.println("存在"); } else { count++; } if(count==7)//? { System.out.println("不存在"); } } } @Test public void homework5() { Scanner s=new Scanner(System.in); int[] a=new int[3]; int[] b=new int[4]; System.out.println("请你先输入第一个数组:");//输入一个数组 for(int i=0;i<3;i++) { System.out.print("第"+(i+1)+"个:"); a[i]=s.nextInt(); } System.out.println("请你再输入第二个数组:");//输入另一个数组 for(int i=0;i<4;i++) { System.out.print("第"+(i+1)+"个:"); b[i]=s.nextInt(); } int temp=a.length; a=Arrays.copyOf(a,a.length+b.length); //System.out.println(a.length); for(int i=0;i<a.length-temp;i++)//粘贴 { a[i+temp]=b[i]; } System.out.print("输出合并之后结果:"); for(int i=0;i<a.length;i++)//粘贴之后全部输出检查结果 { System.out.print(a[i]); if(i!=a.length-1) { System.out.print(","); } } Arrays.sort(a); System.out.print("\n排序之后:"); for(int i=a.length-1;i>=0;i--)//排序 { System.out.print(a[i]); if(i!=0){ System.out.print(","); } } }
  • 相关阅读:
    MapReduce 运行流程概要
    HDFS 读写流程概要
    Hadoop源码分析22:dfsclient概要
    Hadoop源码分析22:dfsclient概要
    Matlab安装SVM/RF工具箱的办法
    最大似然估计、最大后验概率估计、贝叶斯公式的理解
    车牌识别
    BP神经网络
    SVM中核函数的理解
    数据库面试
  • 原文地址:https://www.cnblogs.com/lumc5/p/15101641.html
Copyright © 2011-2022 走看看