Day03:笔试题总结
Posted ohana!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Day03:笔试题总结相关的知识,希望对你有一定的参考价值。
目录
一,选择题
1.
解析:
1)对于父类的成员变量来说是私有的(private),在子类中无法调用
2)在同一个类中不能有两个public修饰的类(内部类除外,内部类是作为外部类的一个成员而存在)
2.
解析:
父类没有无参的构造方法,子类在创建对象时就会默认调用super,调用父类的无参构造方法,所以就会报错
3.
解析:
B.构造方法可以重载,可以有无参的,可以有只有一个参数的,也可以有多个参数的
4.
解析:
D.finally块可以不要即省略,但是catch块不能省略
5.
解析:
关于引用传递,当传递的对象是一个数组时,如果方法体的内容是更改某一个下标当中元素的值,那么就会反映到对象上
6.
解析:
A.实例方法不能直接调用,如果是private就不能调用,这句话太绝对了
B.实例方法只能调用本类的类方法,超类的需要超类来调用
D.同B的分析
7.
解析:
“==”比较的是对象的地址,str1是直接从常量池中取到的,而对于str2,是拼接而来的,只要发生拼接就一定会new一个新的字符串,多以地址肯定不是相同的(堆上)
8.
解析:
抛出异常是要new的,括号中直接输入抛出异常的描述即可
9.
解析:
A.map可以用null作为键,value值也可以为空,当null作为键时,他并不是返回值null的那种意思,他只是一个字符串
B.均实现了list接口
C.ArrayList底层是动态数组,因此,添加和删除都需要移动要添加位置后面的的所有元素,及其不方便,但是查找就非常的方便
D.如果要查找的元素是最后一个元素,其实就没有谁比谁快的说法了
10.
解析:
内部类就不一定是相同的
二,编程题
1.字符串中展出连续最长的的数字串
题目内容:
解析:
1)对于这个字符串来说,首先要做的就是筛选每一段连续的数字串出来
2)我选择将每段数字串选出,并保存好,后面就直接进行长度对比,然后,得到结果字符串
解题代码:
import java.util.*;
public class Main
public static void main(String[] args)
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
List<String> list = new ArrayList<>();
StringBuilder sb = new StringBuilder();
//循环的作用是遍历整个字符串
for(int i = 0;i < s.length();i++)
char ch = s.charAt(i);
//如果是字符属于0-9之间,sb就直接拼接
//如果不是,那么就将这个字符串添加进list保存起来,并且将sb清空
if(ch >= '0' && ch <= '9')
sb.append(ch);
else
list.add(sb.toString());
sb.delete(0,sb.length());
list.add(sb.toString());
String str = "";
//循环遍历整个list,找出数字串当中长度最长的,并赋值给str
for(int i = 0;i < list.size();i++)
if(list.get(i).length() > str.length())
str = list.get(i);
System.out.println(str);
2.数组中出现次数超过一半的数字
题目内容:
解析:
1)直接使用HashMap结构进行保存,以数组元素做键,以出现的次数做值
2)以循环进行对比,找出出现次数超过一半的元素
解题代码:
import java.util.*;
public class Solution
public int MoreThanHalfNum_Solution(int [] array)
//用map存放每个元素出现的次数(以元素做键,以出现的次数做值)
Map<Integer,Integer> m = new HashMap<>();
for(int i = 0;i < array.length;i++)
m.put(array[i],m.getOrDefault(array[i],0) + 1);
int midpos = array.length / 2;
int index = 0;
//对每个元素出现的次数进行比较
for(int i = 0;i < array.length;i++)
if(m.get(array[i]) > midpos)
index = i;
return array[index];
以上是关于Day03:笔试题总结的主要内容,如果未能解决你的问题,请参考以下文章