笔试强训——Day3

1.以下代码运行输出的是

public class Person{
    private String name = "Person";
    int age=0;
}
public class Child extends Person{
    public String grade;
    public static void main(String[] args){
        Person p = new Child();
        System.out.println(p.name);
    }
}

A 输出:Person

B 没有输出

C 编译出错

D 运行出错

他的回答: C (正确)

正确答案:C

2.以下程序的输出结果为

class Base{
    public Base(String s){
        System.out.print("B");
    }
}
public class Derived extends Base{
    public Derived (String s) {
        System.out.print("D");
    }
    public static void main(String[] args){
        new Derived("C");
    }
}

A BD

 B DB

C C

D 编译错误

他的回答: A (错误)

正确答案: D

3.下面关于构造方法的说法不正确的是 ()

A 构造方法也属于类的方法,可以创建对象的时候给成员变量赋值

B 构造方法不可以重载

C 构造方法没有返回值

D 构造方法一定要和类名相同

他的回答: B (正确)

正确答案: B

4.在异常处理中,以下描述不正确的有

A try块不可以省略

B 可以使用多重catch块

C finally块可以省略

D catch块和finally块可以同时省略

他的回答: D (正确)

正确答案: D

5.下列描述中,错误的是

A SQL语言又称为结构化查询语言

B java中”static”关键字表明一个成员变量或者是成员方法可以在没有所属的类的实例变量的情况下被访问

C 面向对象开发中,引用传递意味着传递的并不是实际的对象,而是对象的引用,因此,外部对引用对象所做的改变不会反映到所引用的对象上

D java是强类型语言,javascript是弱类型语言

E 面向对象的三大特性包括:封装,继承,多态

他的回答: C (正确)

正确答案: C

6.下列哪种说法是正确的?

A 实例方法可直接调用超类的实例方法

B 实例方法可直接调用超类的类方法

C 实例方法可直接调用本类的类方法

D 实例方法可直接调用其他类的实例方法

他的回答: C (正确)

正确答案: C

7.有以下代码片段:

String str1="hello";
String str2="he"+ new String("llo");
System.out.println(str1==str2);

请问输出的结果是:

A true

B 都不对

C null

D false

他的回答: A (错误)

正确答案: D

参考答案: ==比较的是对象地址,String str1="hello"; 这样创建字符串是存在于常量池中,String str2=new String("hello"); str2存在于堆中,所以str1和str2指向的并 不是同一个对象

8.程序读入用户输入的一个值,要求创建一个自定义的异常,如果输入值大于 10 ,使用 throw 语句显式地引发异常,异常输出信息为 ”something’swrong!” , 语句为()

A if(i>10)throw new Exception("something’swrong!");

B if(i>10)throw Exception e("something’swrong!");

C if(i>10) throw new Exception e("something’swrong!");

D if(i>10)throw Exception( "something’swrong!");

他的回答: A (正确)

正确答案: A

9.以下关于集合类 ArrayList 、 LinkedList 、 HashMap 描述错误的是()

A HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值

B ArrayList和LinkedList均实现了List接口

C 添加和删除元素时,ArrayList的表现更佳

D ArrayList的访问速度比LinkedList快

他的回答: C (正确)

正确答案: C

10.在创建派生类对象,构造函数的执行顺序()

A 基类构造函数,派生类对象成员构造函数,派生类本身的构造函数

B 派生类本身的构造函数,基类构造函数,对象成员构造函数

C 基类构造函数,派生类本身的构造函数,派生类对象成员构造函数

D 对象成员构造函数,基类构造函数,派生类本身的构造函数

他的回答: A (正确)

正确答案: A

11.标题:字符串中找出连续最长的数字串

【字符串中找出连续最长的数字串】读入一个字符串str,输出字符串str中的连续最长的数字串

import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str=sc.nextLine();
        String cur="";
        String ret="";
        int i=0;
        for(;i<str.length();i++){
            char ch=str.charAt(i);
            if(ch>='0'&&ch<='9'){
                cur=cur+ch;
            }else{
                if(cur.length()>ret.length()){
                    ret=cur;
                }else{
                    cur="";
                }
            }
        }
        if(i==str.length()&&cur.length()>ret.length()){
            ret=cur;
        }
        System.out.println(ret);
    }
}

12.标题:数组中出现次数超过一半的数字

【数组中出现次数超过一半的数字】 给一个长度为 n 的数组,数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 例如输入一个长度为9的数组[1,2,3,2,2,2,5,4,2]。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。

import java.util.*;
public class Solution {
    public int MoreThanHalfNum_Solution (int[] numbers) {
// write code here
        Map<Integer,Integer>map=new HashMap<>();
        for(int i:numbers){
            map.put(i,map.getOrDefault(i,0)+1);
        }
        for(Map.Entry<Integer,Integer> entry:map.entrySet()){
            if(entry.getValue()>numbers.length/2){
                return entry.getKey();
            }
        }
        return 0;
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值