选择题

钱太陈

贡献于2016-11-03

字数:7830 关键词: 面试题目

选择题,编程题集锦 一、选择题(每题2分) 1.下列哪些情况可以终止当前线程的运行? a. 抛出一个例外时。 b. 当该线程调用sleep()方法时。 c. 当创建一个新线程时。 d. 当一个优先级高的线程进入就绪状态时。 答案:ABD 2. 下面哪些为构造函数的特性定义 a. 在类中声明构造函数时,名称应该与类名相同 b. 具有重载特性,可以建立多个相同的名称 c. 使用类建立新对象时,会自动执行构造函数,因此在构造函数内设定变量的初值或进行内存分配 d. 以上都是 答案:ABCD 3. 关于异常处理机制的叙述哪些正确 a. catch部分捕捉到异常情况时,才会执行finally部分 b. 当try区段的程序发生异常时,才会执行catch区段的程序 c. 不论程序是否发生错误及捕捉到异常情况,都会执行finally部分 d. 以上都是 答案:BC 4. 下列关于接口的叙述中哪些是错误的 a. 接口中的数据必须设定初值 b. 接口中无法声明一般方法 c. 接口可以声明引用 d. 以上都正确 答案:BC 5. Java语言中,方法的重写(Overriding)和重载(Overloading)是多态性的不同表现。下边哪些说法是对的? A. 重写是父类与子类之间多态性的一种表现。 B. 重写是一个类中多态性的一种表现。 C. 重载是一个类中多态性的一种表现。 D. 重载是父类与子类之间多态性的一种表现。 6.在Struts应用的视图中包含哪些组件? A. JSP B. Servlet C. ActionServlet D. Action E. 代表业务逻辑或业务数据的JavaBean F. EJB G. 客户化标签 答案:A,G 7. struts框架中,关于FormBean,下列哪些说法是正确的:          A FormBean是一种数据bean,主要用来封装表单提交上来的数据,并把这些数据传递给Action    B 在FormBean中可以对页面上传递来的参数进行一下格式上的验证,这种验证是一种客户端的验证    C 用户每次提交表单,都会产生一个新的FormBean实例    D 动态FormBean不能进行验证操作 答案:A 8.以下哪些不是Hibernate的检索方式: A、导航对象图检索 B、OID检索 C、ORM检索 D、QBC检索 E、本地SQL检索 F、HQL检索 答案:C 9.以下代码定义了一个变量,如何输出这个变量的值? (A) (B) (C)<%= stringBean%> (D)<% String myBean=(String)pageContext.getAttribute(“stringBean”,PageContext.PAGE_SCOPE); %> <%=myBean%> 答案: A,D 10.EJB有哪些对象? A. Remote(Local)接口 B. Home(LocalHome)接口 C. Bean类 D. Enterprise Bean Provider 答案:A B C 11方法可以进行servlet的调试?(A B C D E) A、使用打印语句; 在桌面计算机上运行服务器 B、使用Apache Log4J C、使用IDE集成的调试器 D、直接查看HTML源码 E、返回错误页面给客户 12、下面关于servlet的功用说法正确的有哪些?(A B C D E) A、读取客户程序发送来的显式数据 B、读取客户程序发送来的隐式数据 C、生成相应的结果 D、发送显式的数据给客户程序 E、发送隐式的数据给客户程序 13、下面关于session的用法哪些是错误的?(A B D) A、HttpSession session = new HttpSession(); B、String haha = session.getParameter(“haha”); C、session.removeAttribute(“haha”); D、session. setAttribute(“haha”); 14、关于说法正确的有哪些?(A B C) A、URL的输出在请求时被插入到JSP页面中 B、不能含有影响整个页面的JSP内容 C、被包含文件改变后不需更改使用它的页面 D、被包含文件更改后,需要手动地更新使用它的页面 15、关于bean的说法正确的有哪些?(B D) A、具备一个零参数(空)的构造函数(不是必须的) B、不应该有公开的实例变量(字段) C、所有的属性都必须通过getXxx和setXxx方法来访问 D、布尔型的属性使用isXxx,而非getXxx 16、下面关于MVC说法错误的有哪些?(A C) A、必须使用复杂的框架 B、使用内建的RequestDispatcher能够很好地实现MVC C、MVC影响整个系统的设计 D、我们可以用MVC来处理单个请求 17、下面的标签中哪些是JSTL标签?(A B C) A、 B、 C、 D、 18、使用Junit测试equals()必须根据哪些属性来进行?(A B C) A、反身性 B、对称性 C、传递性 D、一致性 19、以下哪些说法是正确的?C (A)每个HTTP请求对应一个单独的ActionServlet实例 (B)对于每个请求访问HelloAction的HTTP请求,Struts框架会创建一个单独的 HelloAction实例。 (C)每个子应用对应一个单独的RequestProcessor实例 (D)每个子应用对应一个单独的web.xml文件 20、ActionForm Bean对象是由谁创建的?C (A) 标签处理类 (B) ActionServlet (C) RequestProcessor (D) Action 21、struts框架,错误的是,面那些说法正确?            A Struts中无法完成上传功能    B Struts框架基于MVC模式    C Struts框架容易引起流程复杂、结构不清晰等问题    D Struts可以有效地降低项目的类文件数目 答案:C 四、编程题(1、2题各15分,3题20分) 1、利用异常处理机制的方法来制作一个代码程序段。输入“I am 007”时,打印“亲爱的007,您好”;输入其他字符串时,打印“对不起,请下次进入”,然后程序结束 import java.io.*; public class KB { public static String scan() { String str=""; try { BufferedReader buf=new BufferedReader(new InputStreamReader(System.in)); str=buf.readLine(); } catch(Exception e){} return str; } } public class MyExceptionTest { public static void exceptionThrow() throws MyException1 { throw new MyException1(); } public static void anotherThrow() throws MyException2 { throw new MyException2(); } public static void main(String args[]) { try { String str=KB.scan(); if(str.equals("I am 007")) exceptionThrow(); else anotherThrow(); } catch (MyException1 e1) { e1.printStackTrace(); } catch (MyException2 e2) { e2.printStackTrace(); } } } class MyException1 extends Exception { MyException1() { super("亲爱的007,您好"); } } class MyException2 extends Exception { MyException2() { super("对不起,请下次进入"); } } 2、使用同步函数实现卖100张票。要求写两个类(主函数类:MainTest,线程类:ThreadTest),线程类实现Runnable接口。 public class MainTest { public static void main(String args[]) { Thread t=new Thread(new ThreadTest()); t.start(); } } class ThreadTest implements Runnable{ private int tickets = 100; public void run() { while(true) { sale(); } } public synchronized void sale() { if(tickets>0) { try{ Thread.sleep(10); }catch(Exception e) { e.printStackTrace(); } System.out.println(Thread.currentThread().getName()+" is saling ticket "+tickets--); } } } 3、请完成一个选课系统里注册模块的程序设计: 条件: 学生的持久化类的属性有:id,username,password,sex,major,class, 课程的持久化类的属性有:id,coursename,classroom,coursetime, JSP页面为:reg.jsp,regok.jsp,regbad.jsp; 完成学生与课程的持久化类的映射文件,设置成级连保存,延迟检索; 写出与注册页面相对应的的Action和ActionForm;要求ActionForm要对表单中的数据格式进行验证;Action要对学生的用户名进行唯一验证;如果没有重复的用户名就可以注册成功,否则失败; 写出检测用户名是否存在的方法; 根据session接口写出相应的方法; Course.hbm.xml Student.hbm.xml StudentCourse.hbm.xml struts-config.xml     4.Java编程,打印昨天的当前时刻 public class YesterdayCurrent{ public void main(String[] args){ Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, -1); System.out.println(cal.getTime()); } } 5.文件读写,实现一个计数器 public int getNum(){ int i = -1; try{ String stri=""; BufferedReader in = new BufferedReader(new FileReader(f)); while((stri=in.readLine())!=null){ i = Integer.parseInt(stri.trim()); } in.close(); }catch(Exception e){ e.printStackTrace(); } return i; } public void setNum(){ int i = getNum(); i++; try{ PrintWriter out=new PrintWriter(new BufferedWriter(new FileWriter(f,false))); out.write(String.valueOf(i)); //可能是编码的原因,如果直接写入int的话,将出现java编码和windows编码的混乱,因此此处写入的是String out.close() ; }catch(Exception e){ e.printStackTrace(); } } 6. 指出下面程序的运行结果: class A{ static{ System.out.print("1"); } public A(){ System.out.print("2"); } } class B extends A{ static{ System.out.print("a"); } public B(){ System.out.print("b"); } } public class Hello{ public static void main(String[] ars){ A ab = new B(); //执行到此处,结果: 1a2b ab = new B(); //执行到此处,结果: 1a2bab } }    注:类的static 代码段,可以看作是类首次加载(被虚拟机加载)执行的代码,而对于类的加载,首先要执行其基类的构造,再执行其本身的构造 7.写一个Singleton模式的例子 public class Singleton{ private static Singleton single = new Singleton(); private Singleton(){} public Singleton getInstance(){ return single; } } 8 删除表的重复记录    如果记录完全相同才算重复记录,那么: (sql server2000下测试通过) select distinct * into #tmpp from tid delete from tid insert into tid select * from #tmpp drop table #tmpp   如果有id主键(数字,自增1的那种),那么:(sql server2000下测试通过) delete from tableA where id not in (select id = min(id) from tableA group by name)

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 10 金币 [ 分享文档获得金币 ]
0 人已下载

下载文档

相关文档