笔试0929

1. Java异常分类

Java对异常进行了分类,不同类型的异常分别用不同的Java类表示,所有异常的根类为java.lang.Throwable,Throwable下面又派生了两个子类:Error和Exception。Java异常类的层次结构如图所示。
在这里插入图片描述

Error

Error是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM(Java 虚拟机)出现的问题。

Exception

Exception类是所有异常类的父类,其子类对应了各种各样可能出现的异常事件。 通常Java的异常可分为:

  1. RuntimeException 运行时异常
  2. CheckedException 已检查异常
RuntimeException运行时异常

派生于RuntimeException的异常,如被 0 除、数组下标越界、空指针等,其产生比较频繁,处理麻烦,如果显式的声明或捕获将会对程序可读性和运行效率影响很大。 因此由系统自动检测并将它们交给缺省的异常处理程序(用户可不必对其处理)。

CheckedException已检查异常

所有不是RuntimeException的异常,统称为Checked Exception,又被称为“已检查异常”,如IOException、SQLException等以及用户自定义的Exception异常。 这类异常在编译时就必须做出处理,否则无法通过编译。

前缀、中缀、后缀表达式

前缀、中缀、后缀表达式

若前缀表达式为-+ab-cd/ef,后缀表达式为abcd-+ef/-,那么对应二叉树的中序遍历序列是()
a+cd-b-e/f
a+b
c-d-e/f
a+bd-c-e/f
a+e
c-d-b/f

链接:https://www.nowcoder.com/questionTerminal/a47e7807440d47d5bbad825b14e49695

树的度

在一棵度为3的树中,度为3的节点个数为2,度为2的节点个数为1,则度为0的节点个数为()

链接:https://www.nowcoder.com/questionTerminal/6ebd5b2fce084b59bc928a9d02c8f237
来源:牛客网
A
设该树总共有n个节点,则n=n0+n1+n2+n3.
该树中除了根节点没有前驱以外,每个节点有且只有一个前驱,因此有n个节点的树的总边数为n-1条.根据度的定义,总边数与度之间的关系为:n-1=0n0+1n1+2n2+3n3.
联立两个方程求解,可以得到n0=6

下面哪一个是sort的template的正确写法

void sort(class A first,class A last,class B pred)
void template(class A,class B)sort(A first,A last,B pred)
template void sort(A first,A last,B pred)
template<class A,class B> void sort(A first,A last,B pred)

答案:D
模板函数格式是先声明模板类型,然后才能使用
格式是 template<class T1, class T2, …> 返回值 函数名(参数列表)

employee的表结构及数据结构如图所示,以下语句结果分别为:

IDNameScore
1jack1
2tom1
3rosenull
select count(*) from employee;
select conut(1) from employee;
select count(Score) from employee;

答案:
3,3,2
Count(1)和Count(*)实际上的意思是,评估Count()中的表达式是否为NULL,如果为NULL则不计数,而非NULL则会计数。
count(*)肯定是查全部的记录条数了
count(数字),和count(*)效果一样,有几条记录就显示几
count(属性名)则查处的是属性名下面的非null数据的个数
count()则报错 错误码: 1064

一台机器对200个单词进行排序花了200秒(使用冒泡排序),那么花费800秒,大概可以对多少个单词进行排序

n的数据量,时间复杂度是O(n^2),200单词是200秒
2n的数据量时间复杂度是2^2O(n),400单词是800秒
答案应该是400个单词

一磁带机有9道磁道,带长700m,带速2m/s,每个数据块1k字节,块间间隔14mm。如果数据传输率为128000字节/秒,求记录位密度为()字节/m.

因为 数据传输率(C)=记录位密度(D) x 线速度( V )
所以 D=C/V= 128000/2=64000
所以答案为 B

假设一个无向图中包含12个顶点,其中5个顶点有5个度,7个顶点有7个度,那么这个图有几条边?()

一条边带来两个度,(77+55)/2=37

下列描述中,哪些是外观模式的特点( )

A. 对客户端屏蔽了子系统组件
B.实现了子系统与客户端之间的紧耦合关系
C.单个子系统的修改不影响其他子系统
D.子系统类变化时,只需要修改外观类即可
答案ACD

流量劫持是网络安全中常见的安全威胁,下列哪些情况可能会造成流量劫持:

A.DNS劫持
B.MAC地址欺骗
C.使用https协议
D.伪造的DHCP服务器
答案ABD

在Spring中装配bean的主要方式有?

A.在properties文件中进行显式配置
B.在XML中进行显式配置
C.在Java中进行显式配置
D.隐式的发现机制和自动装配
答案BCD

罪犯转移

罪犯转移
C市现在要转移一批罪犯到D市,C市有n名罪犯,按照入狱时间有顺序,另外每个罪犯有一个罪行值,值越大罪越重。现在为了方便管理,市长决定转移入狱时间连续的c名犯人,同时要求转移犯人的罪行值之和不超过t,问有多少种选择的方式(一组测试用例可能包含多组数据,请注意处理)?

import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner in=new Scanner(System.in);
        while(in.hasNext()){
            int n = in.nextInt();//n个人
            int t = in.nextInt();//
            int c = in.nextInt();//连续c名
            int[] a = new int[n];
            for(int i = 0;i<n;i++){
                a[i] = in.nextInt();
            }
            int count = 0;
            int tempt = 0;
            for(int i = 0;i<c;i++){
                tempt += a[i];
            }
            if(tempt<=t)
                count++;
           for(int i = c;i<a.length;i++){
               tempt = tempt+a[i]-a[i-c];
               if(tempt<=t)
                count++;
           }
           System.out.println(count);
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值