jmu-Java-02基本语法-01-综合小测验 PTA

jmu-Java-02基本语法-01-综合小测验 PTA

  • 题目
    • 输入格式:
    • 输出格式:
  • 分析
  • 答案

题目

运行程序后可以输入4个选项,分别为:fib,sort,search,getBirthDate

fib:根据输入n,打印斐波那契数列。比如输入:3,输出:1 1 2

sort:输入一串数字,然后进行排序并输出,注意数组元素输出的格式为使用[ ]包括。提示:可直接使用函数Arrays相关方法处理输出。

search:如果找到返回所找到的位置,如果没找到,返回-1。提示:可以先对数组排序,然后使用Arrays相关函数进行查找。

getBirthDate:输入n个身份证,然后把输入的n个身份号的年月日抽取出来,按年-月-日格式输出。

当输入不是这几个字符串(fib,sort,search,getBirthDate)的时候,显示exit并退出程序。

注意:在处理输入的时候,尽量全部使用Scanner的nextLine()方法接收输入,不要将nextLine()与其它next方法混用,否则可能会出现行尾回车换行未处理影响下次输入的情况。

参考:jdk文档的Arrays,String

输入格式:

fib
3
sort
-1 10 3 2 5
search
-1
search
0
getBirthDate
1
330226196605054190
e

输出格式:

1 1 2
[-1, 2, 3, 5, 10]
0
-1
1966-05-05
exit

分析

本题是综合小测验,考察了对Arrays类和字符串分割的掌握程度,比较基础。
需要注意的是Arrays.binarySearch(int[] a, int key)的返回值。

Arrays.binarySearch(int[] a, int key)的返回值:

  • 1.当a[]中存在key时,返回值为key在数组中的下标;
  • 2.当a[]中不存在key时,返回值为key在数组中负的插入点值。

举个例子,如:

int[] a = {
   2, 10, 20, 30, 100};
//使用Arrays.binarySearch()方法的数组,需要是已排序好的数组。否则返回值不定
System.out.println(Arrays.binarySearch(a, 1)); //返回值-1
System.out.println(Arrays.binarySearch(a, 5)); //返回值-2
System.out.println(Arrays.binarySearch(a, 21)); //返回值-4
System.out.println(Arrays.binarySearch(a, 28)); //返回值-4
System.out.println(Arrays.binarySearch(a, 

你可能感兴趣的:(PTA算法题(部分),java,算法)