java编写选择题_java笔试题-选择题编程题集锦

一、选择题(每题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)

(D)

%>

答案: A,D

10.EJB有哪些对象?

Remote(Local)接口

Home(LocalHome)接口

Bean类

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

type="com.formbean.RegFormBean"/>

type="com.action.RegAction"

name="RegFormBean"

input="/reg.jsp">

path="/regbad.jsp" />

path="/regok.jsp" />

null="false"/>

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)


版权声明:本文为weixin_33746819原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
THE END
< <上一篇
下一篇>>