java模拟题免费.docx

上传人:b****6 文档编号:6303904 上传时间:2023-01-05 格式:DOCX 页数:20 大小:25.17KB
下载 相关 举报
java模拟题免费.docx_第1页
第1页 / 共20页
java模拟题免费.docx_第2页
第2页 / 共20页
java模拟题免费.docx_第3页
第3页 / 共20页
java模拟题免费.docx_第4页
第4页 / 共20页
java模拟题免费.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

java模拟题免费.docx

《java模拟题免费.docx》由会员分享,可在线阅读,更多相关《java模拟题免费.docx(20页珍藏版)》请在冰豆网上搜索。

java模拟题免费.docx

java模拟题免费

特别说明:

1.本试题是一份期末考试题的模拟题。

期末考试题的题型、题量、难度应该和本模拟题近似,但本试题中出现过的题目不会在期末试题中出现。

2.本模拟试题是以Java语言和Oracle数据库管理系统为基础的试题。

VB和C++语言的试题应该和这个试卷的题型、题量、难度相仿,但用VB或C++语言描述。

3.任课老师应该将本模拟试卷分发给上这门课的同学,以促进和帮助同学们学习和准备期末考试。

同学们不要再通过其他途径和渠道收集上年度,及以前的本课程的期末考试题,以免被误导。

4.本课程的考试范围都已经发给大家,期末考试试题会力求覆盖方方面面的内容。

本模拟试题没有覆盖的内容并不是期末考试中不涉及的内容。

5.加分题是为学有余力,在期末考试中提前完成考试题目,并留有剩余时间的同学准备的。

完成,或部分完成加分题目,并不会直接增加参考同学的期末考试的总成绩,但会有利于同学平时成绩的得分评价。

因此,有剩余时间的同学应该在保证正题的完成的前提下努力去完成加分题;如果没有剩余时间,则不应该勉强自己去作加分题,以影响自己的期末考试成绩。

一、填空题(一空1分,共10分)

执行如下SQL命令序列后

CREATETABLEcustomer(

customer_idCHAR(18)constraintcust_pkprimarykey,

cust_nameCHAR(20),

cust_cityCHAR(30)default'CD',

cust_phoneCHAR(13),

cust_genderCHAR

(1)default'M'constraintcust_gendercheck(cust_gender='M'orCUST_gender='F'),

cust_jobCHAR(30));

CREATETABLEaccount(

CUSTOMER_IDCHAR(18),

ACCOUNT_NOCHAR(8)constraintacct_pkprimarykey,

ACCOUNT_PWDCHAR(6),

BRANCH_IDCHAR(4)default'001',

BALANCENUMBER(14,2)default0,

BUILD_DATEDATE,

acct_typenumber(2,0)default0,

STATUSCHAR

(1)DEFAULT0constraintacct_statuscheck(statusin('0','1','2')),

constraintacct_fk_cusforeignkey(customer_id)referencescustomer(customer_id)ondeletecascade);

CREATETABLEdeposit(

ACCOUNT_NOCHAR(8),

amountNUMBER(14,2)default0,

oper_DATEDATE,

oper_typechar

(1)default'c',

constraintdeposit_fk_accforeignkey(account_no)referencesaccount);

CREATETABLEstaff(

STAFF_IDCHAR(18)constraintstaff_pkprimarykey,

STAFF_NAMECHAR(15),

STAFF_PWDCHAR(15));

INSERTINTOSTAFF(STAFF_ID,STAFF_NAME,STAFF_PWD)VALUES('staff01','staff01','111111');

1.一共有__________个表。

2.customer表中有__________记录。

3.staff关系中有__________个属性。

4.一共执行了__________条SQL命令。

5.deposit表中的amount字段是__________数据类型。

6.account表中的__________字段被设置为了主键(主码)。

7.在customer关系中,不把cust_name属性设置为主键的原因是,客户的__________可能重复。

8.customer表和__________表有公共属性。

9.insert命令中的__________子句可以被省略。

10.__________表中没有设置主键。

二、以第一题创建的表为基础,根据要求写出合适SQL命令(一小题2分,共20分)

1.查询customer表中所有记录的所有字段的内容。

2.查询账户余额大于100000元的账号和客户身份证号码。

3.查询账户余额在26000元(包括26000元)到200000元(不包括200000元)的账号和客户姓名。

4.向staff表中增加一条记录,记录数据自定。

5.向deposit表中增加一个属性,属性的名字和参数自定。

6.向账号为“12345678”的账户中存款1000元。

7.从staff表中删除staff_id的值是“123456789012345678”的记录。

8.将staff表中的staff_name的数据宽度修改为20个字节。

9.删除staff表。

10.删除staff表中的所有记录。

三、读程序题(共30分)

1.(2分)

classA0001{

publicstaticvoidmain(String[]args){

System.out.println("欢迎加入Java世界!

");

}

}

1)main方法是不是一定要定义为:

public和static方法?

(1分)

2)此程序运行结果是什么?

(1分)

2.(3分)

classA0001{

publicstaticvoidmain(String[]args){

inta;

intb=3;

intc=5;

if(b>c)

a=b;

else

a=c;

System.out.println(a);

}

}

1)语句a=b;的功能是什么?

(1分)

2)if语句和System.out.println(a);语句之间是嵌套的关系还是顺序的关系?

(1分)

3)此程序运行的结果是什么?

(1分)

3.(4分)

classA0001{

publicstaticvoidmain(String[]args){

ints=0;

for(inti=30;i<=50;i++){

s=s+i;

}

System.out.println(s);

}

}

1)for语句中的i++是什么功能?

(2分)

2)此程序运行的结果是什么?

(不用计算,直接用自然语言描述即可)(2分)

4.(5分)

classA0001{

publicstaticvoidmain(String[]args){

for(inti=1;i<=9;i++){

for(intj=1;j<=i;j++)

System.out.print("*");

System.out.println();}}}

1)print方法和println方法有什么区别?

(1分)

2)当i=9是,对应的for语句的循环体还执行吗?

(2分)

3)此程序运行的结果是什么?

(图示结果,不能用自然语言描述)(2分)

5.(6分)

classA00011{

staticinta=1;

staticintb=2;

staticintc=a+b;

}

classA0001{

publicstaticvoidmain(String[]args)

{

System.out.println(A00011.c);

}

}

1)System.out.println(A00011.c);语句中,直接通过类名应用变量c,这在编译是会不会出错?

为什么?

(2分)

2)本题目的代码中定义了几个类?

类名是什么?

(2分)

3)此程序运行的结果是什么?

(2分)

6.(8分)

importjava.awt.*;

importjava.awt.event.*;

importjava.sql.*;

importjavax.swing.*;

publicclassQueryFrameextendsJFrameimplementsActionListener{

JLabellabel1=newJLabel("姓  名");

JLabellabel2=newJLabel("身份证号");

JTextFieldtxtName=newJTextField(20);

JTextFieldtxtId=newJTextField(20);

JButtonbtnOK=newJButton("查询");

publicQueryFrame()

{

this.setSize(500,200);

this.setVisible(true);

this.setTitle("开户流程");

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

this.setLayout(newFlowLayout(FlowLayout.CENTER,70,20));

this.add(label2);

this.add(txtId);

this.add(label1);

this.add(txtName);

this.add(btnOK);

btnOK.addActionListener(this);

}

publicvoidactionPerformed(ActionEventevent){

if(event.getSource().equals(btnOK)){

Stringsql="SELECT*FROMCUSTOMERWHERECUSTOMER_ID='"+txtId.getText()+"'";

Connectionconn=null;

try{

Class.forName("oracle.jdbc.driver.OracleDriver");

conn=DriverManager.getConnection("jdbc:

oracle:

thin:

@"+"192.168.210.228:

1521:

orcl","stu12","swufe111");

Statementstmt=conn.createStatement();

ResultSetrs=stmt.executeQuery(sql);

if(rs.next()){

txtName.setText(rs.getString("CUST_NAME"));

}

else{

txtName.setText("查无记录");

}

rs.close();

stmt.close();

conn.close();

System.out.println("正常结束");

}

catch(ClassNotFoundExceptione){

System.out.println("加载数据库驱动异常,请检查");

}

catch(SQLExceptione){

System.out.println("执行数据库操作异常,SQL语句为:

"+sql);

}

}

}

publicstaticvoidmain(String[]args){

QueryFrameform=newQueryFrame();

}

}

1)importjava.awt.*;语句的作用是什么?

(2分)

2)11到23行,定义的是什么?

它的作用是什么?

(2分)

3)try--catch语句的作用是什么?

(2分)

4)此程序的功能是什么?

(2分)

四、完善程序题(每题5分,共10分)

1.以下程序的功能是,用户输入一元二次方程的三个系数,计算机求解一元二次方程。

请填空完善程序。

____0.5分______java.util.Scanner;

____0.5分______java.lang.Math.*;

publicclassA0105{

publicstaticvoidmain(String[]args){

floata=0;floatb=0;floatc=0;floatd=0;floatx1=0;floatx2=0;

System.out.println("请输入一元二次方程的三个系数,数与数之间用空格分隔。

");

Scanner___1分_______=newScanner(System.in);

a=scanner.nextFloat();b=scanner.nextFloat();c=scanner.nextFloat();

d=____1分______;

if(d>0){

x1=(float)(-b+Math.sqrt(d))/(2*a);x2=(float)(-b-Math.sqrt(d))/(2*a);

System.out.println("X1=["+x1+"]X2=["+x2+"]");___1分_______

else{

if(d==0){

x1=(float)(-b)/(2*a);

System.out.println("x1=x2="+____1分______);}

else{

System.out.println("此方程在实数范围内无解!

");}

}

}

}

2.以下程序存在语法和逻辑错误。

设计本程序的目的是,用户输入10个数,计算机将这10个数按从大到小的顺序显示出来。

但,程序编译没有通过。

请改正之。

(一共有2个逻辑错误,3个语法错误,改正一个,得1分)(注意:

一行上的错误算1个错误。

不能增加语句,删除整条语句。

进行了不必要的修改将被扣分。

importjava.util.Scanner;

classA0420{

publicstaticmain(String[]arges){

intk;

inta[]=newint[10];

scannerscanner=newscanner(System.in);

for(inti=0;i<=9;i++)

a[i]=scanner.nextInt();

for(inti=0;i<=8;i++)

for(intj=0;j<=i;j++)

if(a[j]

{k=a[j];

a[j]=a[j+1];

a[j+1]=k;}

for(inti=0;i<=9;i++)

System.out.println(i);

}

五、编写程序(每小题10分,共30分)

1.用户从键盘上输入一个数,程序判断这个数是不是素数,并输出结果。

(15分)

3.用户从键盘上输入10个数,分别统计正数、负数、零的个数、平均值、累加和。

(15分)

六、编写程序(加分题)(本题的得分仅供任课老师评定平时成绩的参考,不直接计入期末考试成绩)

一、填空题(一空1分,共10分)

执行如下SQL命令序列后

CREATETABLEcustomer(

customer_idCHAR(18)constraintcust_pkprimarykey,

cust_nameCHAR(20),

cust_cityCHAR(30)default'CD',

cust_phoneCHAR(13),

cust_genderCHAR

(1)default'M'constraintcust_gendercheck(cust_gender='M'orCUST_gender='F'),

cust_jobCHAR(30));

CREATETABLEaccount(

CUSTOMER_IDCHAR(18),

ACCOUNT_NOCHAR(8)constraintacct_pkprimarykey,

ACCOUNT_PWDCHAR(6),

BRANCH_IDCHAR(4)default'001',

BALANCENUMBER(14,2)default0,

BUILD_DATEDATE,

acct_typenumber(2,0)default0,

STATUSCHAR

(1)DEFAULT0constraintacct_statuscheck(statusin('0','1','2')),

constraintacct_fk_cusforeignkey(customer_id)referencescustomer(customer_id)ondeletecascade);

CREATETABLEdeposit(

ACCOUNT_NOCHAR(8),

amountNUMBER(14,2)default0,

oper_DATEDATE,

oper_typechar

(1)default'c',

constraintdeposit_fk_accforeignkey(account_no)referencesaccount);

CREATETABLEstaff(

STAFF_IDCHAR(18)constraintstaff_pkprimarykey,

STAFF_NAMECHAR(15),

STAFF_PWDCHAR(15));

INSERTINTOSTAFF(STAFF_ID,STAFF_NAME,STAFF_PWD)VALUES('staff01','staff01','111111');

1.一共有____4______个表。

2.customer表中有______0____记录。

3.staff关系中有______3____个属性。

4.一共执行了_____5_____条SQL命令。

5.deposit表中的amount字段是_____数值_____数据类型。

6.account表中的____ACCOUNT_NO______字段被设置为了主键(主码)。

7.在customer关系中,不把cust_name属性设置为主键的原因是,客户的____姓名______可能重复。

8.customer表和______account____表有公共属性。

9.insert命令中的___(STAFF_ID,STAFF_NAME,STAFF_PWD)_______子句可以被省略。

10.__deposit____表中没有设置主键。

二、以第一题创建的表为基础,根据要求写出合适SQL命令(一小题2分,共20分)

1.查询customer表中所有记录的所有字段的内容。

select*fromcustomer

2.查询账户余额大于100000元的账号和客户身份证号码。

selectaccount_no,customer_idfromaccountwherebalance>100000

3.查询账户余额在26000元(包括26000元)到200000元(不包括200000元)的账号和客户姓名。

selectaccount_no,cust_namefromaccount,customerwhereaccount.customer_id=customer.customer_idandbalance>=26000andbalance<=200000

4.向staff表中增加一条记录,记录数据自定。

INSERTINTOSTAFF(STAFF_ID,STAFF_NAME,STAFF_PWD)VALUES('staff02','staff02','222222');

5.向deposit表中增加一个属性,属性的名字和参数自定。

altertableaddcolumnoper_namechar(8);

6.向账号为“12345678”的账户中存款1000元。

insertintodepositvalues(‘12345678’,1000,sysdate,'c');

7.从staff表中删除staff_id的值是“123456789012345678”的记录。

deletefromstaffwherestaff_id='123456789012345678'

8.将staff表中的staff_name的数据宽度修改为20个字节。

altertablestaffmodifystaff_namechar(20)

9.删除staff表。

droptablestaff

10.删除staff表中的所有记录。

deletefromstaff

三、读程序题(共30分)

1.(2分)

classA0001{

publicstaticvoidmain(String[]args){

System.out.println("欢迎加入Java世界!

");

}

}

1)main方法是不是一定要定义为:

public和static方法?

(1分)

答:

一定要

2)此程序运行结果是什么?

(1分)

答:

欢迎加入Java世界!

2.(3分)

classA0001{

publicstaticvoidmain(String[]args){

inta;

intb=3;

intc=5;

if(b>c)

a=b;

else

a=c;

System.out.println(a);

}

}

1)语句a=b;的功能是什么?

(1分)

答:

b变量的值赋值给a变量

2)if语句和System.out.println(a);语句之间是嵌套的关系还是顺序的关系?

(1分)

答:

顺序关系

3)此程序运行的结果是什么?

(1分)

答:

5

3.(4分)

classA0001{

publicstaticvoidmain(String[]args){

ints=0;

for(inti=30;i<=50;i++){

s=s+i;

}

System.out.println(s);

}

}

1)for语句中的i++是什么功能?

(2分)

答:

i=i+1

2)此程序运行的结果是什么?

(不用计算,直接用自然语言描述即可)(2分)

答:

840(30+31+32+.......+50)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1