论坛首页 Java企业应用论坛

遇到这3道笔试题,大家有把握能做对几道

浏览 33468 次
精华帖 (16) :: 良好帖 (2) :: 新手帖 (0) :: 隐藏帖 (8)
作者 正文
   发表时间:2011-07-18  
如果在笔试(无法上机操作)的情况下,遇到这3道笔试题,大家有把握能做对几道,3题难度依次提高。

第一题:
	public static void main(String[] args) throws Exception {
		int[] x = new int[6];
		Arrays.fill(x, 1);
		for (int i = 0; i < x.length; i++) {
			System.in.read();
			System.out.println(x[i]);
		}
	}
这段代码,输入“1”(不含引号),按回车后,系统输出什么?

第二题:
	private static void foo() {
		try {
			System.out.println("try");
			foo();
		} catch (Throwable e) {
			System.out.println("catch");
			foo();
		} finally {
			System.out.println("finally");
			foo();
		}
	}

	public static void main(String[] args) {
		foo();
	}
上述代码运行后:
A.执行一段时间后报栈溢出。   B.会一直输出“try”。    C.会一直输出“try”和“finally”。    D.会一直输出“try”、“catch”和“finally”

第三题:
A = 1;
System.out.println(A);
A是一个int类型变量,请在这段代码的前、后添加任意代码(但两句之间不能再插入代码),使得程序编译时第一句可以编译通过,而第二句出现编译错误。
另:请不要以“脑筋急转弯”的方式来思考此问题,这里java就是普通的java语言,rt.jar和javac都没有被修改过。打印语句import的就是我们平常所用的打印语句。
   发表时间:2011-07-18  
public class Test {
int A = 1; 
System.out.println(A);
}
2 请登录后投票
   发表时间:2011-07-18  
第二题应该是C吧
0 请登录后投票
   发表时间:2011-07-18  
第一题是 1,1,1 后等待输入  测出来的    System.in.read().会把回车和换行也看成一种输入...OUT了  测了好几次才发现
0 请登录后投票
   发表时间:2011-07-18  
第2题貌似是B吧。。。去测一下..
0 请登录后投票
   发表时间:2011-07-18  
悲剧了 写道
第二题应该是C吧

你是对的.....
0 请登录后投票
   发表时间:2011-07-18   最后修改:2011-07-18
第三题 可以这样:
    int A;
if(1!=1)//可以直接用if(false)
    A = 1; 
    System.out.println(A); 

在eclipse下 第一句正常 第二个报
The local variable A may not have been initialized
1 请登录后投票
   发表时间:2011-07-18  
第2题觉得D,因为我觉得foo在try块里不停的递归执行,而导致第一层递归没有办法返回,换句话说,
System.out.println("try");
foo();

System.out.println("else");// 永远执行不到
最终会outOfMemery,会被第一层的catch(Throwable),注意,这里是Throwable,所以Error也不放过。
所以程序终究要打印catch的。
但是上机后我发现这个有点诡异,大家可以试试
直接运行代码,结果是C(证明以上分析有点问题,但是我没找到问题所在,悲剧),但是!但是!
如果大家把debug放到第3行,然后按住F8别松手,结果却是B

如果有高手的话,求解释。
0 请登录后投票
   发表时间:2011-07-18  
我测试第一题发现不会有数据输出,去掉system.in.read就正常了,对system.in.read的具体用法不是很清楚Arrays.fill(x,1)是将数据全部填充1进去
0 请登录后投票
   发表时间:2011-07-18  
fangshengcai001 写道
悲剧了 写道
第二题应该是C吧

你是对的.....

+1
开始我认为选B   测试了下原来是C。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics