java模拟题免费Word下载.docx
《java模拟题免费Word下载.docx》由会员分享,可在线阅读,更多相关《java模拟题免费Word下载.docx(20页珍藏版)》请在冰豆网上搜索。
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'
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)此程序运行结果是什么?
2.(3分)
inta;
intb=3;
intc=5;
if(b>
c)
a=b;
else
a=c;
System.out.println(a);
1)语句a=b;
的功能是什么?
2)if语句和System.out.println(a);
语句之间是嵌套的关系还是顺序的关系?
3)此程序运行的结果是什么?
3.(4分)
ints=0;
for(inti=30;
i<
=50;
i++){
s=s+i;
}
System.out.println(s);
1)for语句中的i++是什么功能?
(2分)
2)此程序运行的结果是什么?
(不用计算,直接用自然语言描述即可)(2分)
4.(5分)
publicstaticvoidmain(String[]args){
for(inti=1;
=9;
for(intj=1;
j<
=i;
j++)
System.out.print("
*"
System.out.println();
}}}
1)print方法和println方法有什么区别?
2)当i=9是,对应的for语句的循环体还执行吗?
(图示结果,不能用自然语言描述)(2分)
5.(6分)
classA00011{
staticinta=1;
staticintb=2;
staticintc=a+b;
publicstaticvoidmain(String[]args)
{
System.out.println(A00011.c);
1)System.out.println(A00011.c);
语句中,直接通过类名应用变量c,这在编译是会不会出错?
为什么?
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){
加载数据库驱动异常,请检查"
catch(SQLExceptione){
执行数据库操作异常,SQL语句为:
+sql);
}
publicstaticvoidmain(String[]args){
QueryFrameform=newQueryFrame();
1)importjava.awt.*;
语句的作用是什么?
2)11到23行,定义的是什么?
它的作用是什么?
3)try--catch语句的作用是什么?
4)此程序的功能是什么?
四、完善程序题(每题5分,共10分)
1.以下程序的功能是,用户输入一元二次方程的三个系数,计算机求解一元二次方程。
请填空完善程序。
____0.5分______java.util.Scanner;
____0.5分______java.lang.Math.*;
publicclassA0105{
floata=0;
floatb=0;
floatc=0;
floatd=0;
floatx1=0;
floatx2=0;
请输入一元二次方程的三个系数,数与数之间用空格分隔。
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);
x1=x2="
+____1分______);
else{
此方程在实数范围内无解!
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++)
a[i]=scanner.nextInt();
=8;
for(intj=0;
if(a[j]<
a[j+1])
{k=a[j];
a[j]=a[j+1];
a[j+1]=k;
System.out.println(i);
五、编写程序(每小题10分,共30分)
1.用户从键盘上输入一个数,程序判断这个数是不是素数,并输出结果。
(15分)
3.用户从键盘上输入10个数,分别统计正数、负数、零的个数、平均值、累加和。
六、编写程序(加分题)(本题的得分仅供任课老师评定平时成绩的参考,不直接计入期末考试成绩)
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____表中没有设置主键。
select*fromcustomer
selectaccount_no,customer_idfromaccountwherebalance>
100000
selectaccount_no,cust_namefromaccount,customerwhereaccount.customer_id=customer.customer_idandbalance>
=26000andbalance<
=200000
staff02'
222222'
altertableaddcolumnoper_namechar(8);
insertintodepositvalues(‘12345678’,1000,sysdate,'
deletefromstaffwherestaff_id='
123456789012345678'
altertablestaffmodifystaff_namechar(20)
droptablestaff
10.删除staff表中的所有记录。
deletefromstaff
答:
一定要
b变量的值赋值给a变量
顺序关系
5
i=i+1
840(30+31+32+.......+50)