用命令方式运行以下代码的运行结果是()
public class f{
public static void main(String[] args){
String foo1 = args[1];
String foo2 = args[2];
String foo3 = args[3];
}
}命令: java f a b cA 程序编译错误B a b cC 程序运行错误D f
他的回答:
A (错误)
正确答案:
C
可将语句块或方法设为同步使用的语句是()A synchronizedB staticC abstractD final
他的回答:
A (正确)
正确答案:
A
以下哪项不属于java类加载过程?A 生成java.lang.Class对象B int类型对象成员变量赋予默认值C 执行static块代码D 类方法解析
他的回答:
B (正确)
正确答案:
B
类加载过程:
1, JVM会先去方法区中找有没有相应类的.class存在。如果有,就直接使用;如果没有,则把相关类的.class加载到方法区
2, 在.class加载到方法区时,会分为两部分加载:先加载非静态内容,再加载静态内容
3, 加载非静态内容:把.class中的所有非静态内容加载到方法区下的非静态区域内
4, 加载静态内容:
4.1、把.class中的所有静态内容加载到方法区下的静态区域内
4.2、静态内容加载完成之后,对所有的静态变量进行默认初始化
4.3、所有的静态变量默认初始化完成之后,再进行显式初始化
4.4、当静态区域下的所有静态变量显式初始化完后,执行静态代码块
5,当静态区域下的静态代码块,执行完之后,整个类的加载就完成了。
如果一个方法或变量是"private"访问级别,那么它的访问范围是:A 在当前类,或者子类中B 在当前类或者它的父类中C 在当前类,或者它所有的父类中D 在当前类中
他的回答:
D (正确)
正确答案:
D
【手套】
在地下室里放着n种颜色的手套,手套分左右手,但是每种颜色的左右手手套个数不一定相同。A先生现在要出门,所以他要去地下室选手套。但是昏暗的灯光让他
无法分辨手套的颜色,只能分辨出左右手。所以他会多拿一些手套,然后选出一双颜色相同的左右手手套。现在的问题是,他至少要拿多少只手套(左手加右手),才
能保证一定能选出一双颜色相同的手套。
给定颜色种数n(1≤n≤13),同时给定两个长度为n的数组left,right,分别代表每种颜色左右手手套的数量。数据保证左右的手套总数均不超过26,且一定存在至少一种
合法方案。
import java.util.*;
public class Gloves {
public int findMinimum(int n, int[] left, int[] right) {
// write code here
int lsum = 0;
int rsum = 0;
int lmin = Integer.MAX_VALUE;
int rmin = Integer.MAX_VALUE;
int sum0 = 0;
for(int i = 0; i < n; i++) {
if(left[i] == 0 || right[i] == 0) {
sum0 += (left[i] + right[i]);
} else {
lsum += left[i];
rsum += right[i];
lmin = Math.min(lmin,left[i]);
rmin = Math.min(rmin,right[i]);
}
}
return sum0 + Math.min(lsum - lmin + 1,rsum - rmin + 1) + 1;
}
}