牛客练习

牛客练习

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

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

//throw抛出异常,有两种用法: throw e是将已经catch到的e重新抛出,而throw new Exception()是重新生成一个Exception类的对象并抛出。 e中记录了原异常的信息,而new Exception()是一个新对象,当中不包含任何有用的信息 。e可能存在向上转型,即e的实际类型可能是Exception的子类,而new Exception()就是Exception类的对象。

2.假设num已经被创建为一个ArrayList对象,并且最初包含以下整数值:[0,0,4,2,5,0,3,0]。 执行下面的方法numQuest(),最终的输出结果是什么?

private List<Integer> nums;

//precondition: nums.size() > 0
//nums contains Integer objects
public void numQuest() {
int k = 0;
Integer zero = new Integer(0);
while (k < nums.size()) {
if (nums.get(k).equals(zero))
nums.remove(k);
k++;
}
}
//最终结果[0,4,2,5,3]

List中get(i)获取的是下标(索引)为i的元素,是第i+1个元素。

本题zero==0如果get(k)==0,则执行remove(k);

初始size=8,k=0,get(k)=0,则执行remove(0),删除下标为0的第一个元素0,集合元素变为[0,4,2,5,0,3,0] size=7 k++变为1

szie=7,k=1 get(1)为4,不执行remove();k++; …

最终结果[0,4,2,5,3]

3.For which of these values of a
I. 4
II.6
III. 8
is the expression
(a != 3 && a != 4 && a != 5 && a != 6)
false?

  • A:I only
    
  • B:II only
    
  • C:III only
    
  • D:I and II only
    
  • E:I, II, and III
    

&& 运算时出现false时运算结果就判断为false

a != 3 && a != 4 && a != 5 && a != 6 a = 4; 因为a != 4 false 所以 结果false; a = 6; 因为a != 6 false 所以 结果false; a = 8; 因为a != 3 a != 4 a != 5 a != 6都为 ture 所以 结果true

4.()运算符把其操作数中所有值为0和所有值为1的位分别在结果的相应中设置1和0 (D)

A:& B:| C:! D:~

//&与操作;|或操作;!非操作;~取反操作

5.String str = ``""``;``System.out.print(str.split(``","``).length);输出结果为:(B)

A:0 B:1 C:出现异常

//String获取长度用的是length()方法,而数组类型我们直接用属性length获取长度,所以String[]数组类型我们应该用length获取长度 .原字符串不包含分隔符,所以直接返回原字符串,分割出来只有一个空的字符串数组,所以结果是1.(注意,虽然原字符串为空,存到字符串数组为空,但是这个空也会算一个元素。)

6.Java7特性中,abstract class和interface有什么区别。

(1)抽象类可以有构造方法,接口中不能有构造方法。

(2)抽象类中可以有普通成员变量,接口中没有普通成员变量

(3)抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。

(4)抽象类中的抽象方法的访问类型可以是public,protected和(默认类型,虽然 eclipse下不报错,但应该也不行),但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。

(5)抽象类中可以包含静态方法,接口中不能包含静态方法 6. 抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型,并且默认即为public static final类型。 7. 一个类可以实现多个接口,但只能继承一个抽象类。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值