微信

使用微信服务,更方便

职友集>Java面试题 > Java试题3

Java试题3

2015-11-17 06:30:02 阅读( 0 )

1945人 收藏本页

标签:Java面试题

试题1
下面不属于java.lang.RuntimeException子类的是( )。

A. java.lang.NullPointerException
B. java.lang.ArrayIndexOutOfException
C. java.lang.IllegalArgumentException
D. java.lang.ClassNotFoundException
E. 这个真不会,但我很厚道

试题2
调用test$1方法,输出的结果是( )。

public void test$1() {
System.out.println(dao());
}
private int dao() {
try {
access();
return 1;
}catch(SQLException e) {
System.out.println(“catch”);
return -1;
}finally{
System.out.println(“finally”);
}
}

private void access() throws SQLException {
throw new SQLException();
}
A. catch
-1
B. catch
finally
-1
C. 1
D. catch
finally
1
E. 这个真不会,但我很厚道

试题3
调用下面的测试代码( )。

public static void main(String[] args) throws Exception {
EmpService empService = new EmpService();
empService.checkEmp();
}
控制台提示如下异常信息:
Exception in thread “main” three.ServiceException: 服务异常
at three.EmpService.checkEmp(EmpService.java:9)
at three.CoreTest.main(CoreTest.java:16)
Caused by: three.DAOException: 数据访问失败
at three.EmpDAO.getEmp(EmpDAO.java:7)
at three.EmpService.checkEmp(EmpService.java:7)
… 1 more
下列正确的推断的是:

A. ServiceExcepiton一定是RuntimeException的子类
B. ServiceException一定不是RuntimeException的子类
C. EmpService的checkEmp方法抛出异常ServiceException
的原因是由于其调用的EmpDAO的getEmp方法抛出了DAOException
D. EmpDAO的getEmp方法抛出异常DAOException
的原因是由于其调用的EmpService的checkEmp方法抛出了ServiceException
E. 这个真不会,但我很厚道

试题4
FileOutputStream的构造方法声明抛出java.io.IOException,
则下面语句会有编译错误的是(Exception语法)

A. public void fun() throws IOException{ }
B. public void fun() throws IOException {
new FileOutputStream(“file.txt”);
}
C. public void fun() {
try {
new FileOutputStream(“file.txt”);
}catch(IOException e) {
//TODO 处理语句
throw e;
}
}
D. public void fun() throws IOException {
try {
new FileOutputStream(“file.txt”);
} finally {
//TODO 处理语句
}
}
E. 这个真不会,但我很厚道

试题5
方法printCalendar(int year, int month)用于输出指定年份和月份的月历,
例如:printCalendar(2008,8)将输出2008年8月的月历如下:
SUN MON TUE WEN THU FRI SAT
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
代码如下:
public static void printCalendar(int year, int month) {
int b = 0;
Calendar calendar = Calendar.getInstance();
calendar.set(year, month-1, 1);
System.out.println(“Su Mo Tu We Th Fr Sa”);



for (int i = 0; i < b; i++) {
System.out.print(" ");
}
for (int i = 1; i <= days; i++) {
if (i <= 9)
System.out.print(" ");
System.out.print(i);

else
System.out.print(” “);
}
}
两处应填入的代码分别是:

A.
b = calendar.get(Calendar.DAY_OF_WEEK) – 1;
int days = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);

if ((b + i) % 7 == 0)
System.out.println();
B.
b = calendar.get(Calendar.DAY_OF_WEEK);
int days = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);

if (b % 7 == 0)
System.out.println();
C.
b = calendar.get(Calendar.DAY_OF_WEEK) – 1;
int days = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);

if (b % 7 == 0)
System.out.println();
D.
b = calendar.get(Calendar.DAY_OF_WEEK);
int days = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);

if ((b + i) % 7 == 0)
System.out.println();
E. 这个真不会,但我很厚道

试题6
下面的类或方法和Comparable接口不直接相关的是( )。

A. TreeMap
B. Array.sort
C. Collections.sort
D. LinkedList
E. 这个真不会,但我很厚道

试题7
下面程序段中,没有编译错误的是( )。

A. public void f() {
java.io.FileInputStream fis1 = new java.io.FileInputStream(“file”);
fis1.read();
}
B.
public void f() throws java.io.FileNotFoundException {
java.io.FileInputStream fis1 = new java.io.FileInputStream(“file”);
fis1.read();
}
C.
public void f() throws java.io.IOException {
try {
FileInputStream fis1 = new java.io.FileInputStream(“file”);
fis1.read();
} finally {}
}
D.
public void f() {
try {
FileInputStream fis4 = new FileInputStream(“file”);
fis4.read();
}catch(java.io.IOException e) {
}catch(java.io.FileNotFoundException) { }}
E. 这个真不会,但我很厚道

试题8
下面程序不抛出异常且可以输出理应的精确运算结果是( )。

A.
BigDecimal b1 = new BigDecimal(3);
BigDecimal b2 = new BigDecimal(2.9);
BigDecimal b3 = b1.subtract(b2);
System.out.println(b3);
B.
BigDecimal b1 = new BigDecimal(“3″);
BigDecimal b2 = new BigDecimal(“1″);
BigDecimal b3 = b1.divide(b2);
System.out.println(b3);
C.
BigDecimal b1 = new BigDecimal(3);
BigDecimal b2 = new BigDecimal(1);
BigDecimal b3 = b1.divide(b2);
System.out.println(b3);
D.
BigDecimal b1 = new BigDecimal(“3”);
BigDecimal b2 = new BigDecimal(“2.9”);
BigDecimal b3 = b1.subtract(b2);
System.out.println(b3);
E. 这个真不会,但我很厚道

试题9
运行下面程序段:
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, 2008);
c.set(Calendar.MONTH, 1);
c.set(Calendar.DATE, 32);
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy/M/dd”);
System.out.println(sdf.format(c.getTime()));
控制台输出的结果是( )。
A. 2008/1/01
B. 2008/3/03
C. 2008/2/01
D. 2008/3/01
E. 这个真不会,但我很厚道

试题10
关于自定义异常类MyException的实现如下,若该段代码正常运行,则以下说法正确的是()。

private String detail;
MyException(String message) {
detail = message;
}
public String toString() {
return “MyException[" + detail + "]“;
}

public class People {
private int num = 0;

public void setnum(int value){
if ((value100)){
throw new MyException(“Out of bound.value= “+value);
}
}
}
public static void main(String[] args) {
try {
throw new MyException(“An Exception occurred~”);
} catch (MyException e) {
System.out.println(e);
}
try {
People p = new People();
p.setnum(102);
} catch (MyException e1) {
System.out.println(e1);
}
}

A. 输出结果为 MyException[]
MyException[Out of bound.value= 102]
B. MyException属于Runtime异常
C. MyExcption属于checked异常
D. 输出结果为MyException[An Exception occurred~]
E. 这个真不会,但我很厚道

来自IT公司面试手册

下一篇:java测验题及答案

上一篇:Core Java问题

亲~ 如果您有更好的答案 可在评论区发表您独到的见解。

您想查看更多的信息: 面试题