java期末考试试题含答案.docx
《java期末考试试题含答案.docx》由会员分享,可在线阅读,更多相关《java期末考试试题含答案.docx(10页珍藏版)》请在冰豆网上搜索。
![java期末考试试题含答案.docx](https://file1.bdocx.com/fileroot1/2022-11/22/01577769-b979-4c76-9b37-6177d8e878d9/01577769-b979-4c76-9b37-6177d8e878d91.gif)
java期末考试试题含答案
1、如下哪个是Java中有效的关键字。
(C、false)
2、下面的代码段执行之后count的值是什么。
(D、16)
intcount=1;
for(inti=1;i<=5;i++){
count+=i;}
System.out.println(count);
3、下列哪一个import命令可以使我们在程序中创建输入/输出流对象。
(C、importjava.io.*;)
4、下列选项中,不属于Java语言特点的一项是。
(C、编译执行)
5、阅读下列代码段,选出该代码段的正确的文件名。
(D)
classA{
voidmethodl(){
System.out.println(”methodlinclassA”):
}
}
publicclassB{
voidmethod2(){
System.out.println(”method2inclassB”):
}
publicstaticvoidmain(Stringargs[]){
System.out.println(”main()inclassB”):
}
}
A、A.javaB、A.classC、B.classD、B.java
6、下面哪条语句把方法声明为抽象的公共方法。
(C.publicabstractvoidmethod(){}
7、编译下面源程序会得到哪些文件。
(D)
classA1{}classA2{}
publicclassB{
publicstaticvoidmain(Stringargs[]){}}
A、只有B.class文件B、只有A1.Class和A2.class文件
C、有A1.class、A2.Class和B.class文件D、编译不成功
8、定义类头时能使用的修饰符是(C、protected)。
A、privateB、staticC、protectedD、abstract
9、为了区分重载多态中同名的不同方法,要求(A、形式参数个数或者类型不同
A、形式参数个数或者类型不同B、返回值类型不同
C、调用时用类名或对象名做前缀D、形式参数名称不同
10、float类型数据和double类型数据做加法,得到结果的类型是(C、double类型)。
11、如果在编译Java程序时,编译结果报告说找不到要编译的代码,通常的错误不是如下的哪一项?
(B、文件名拼写错误)
12、int类型被包装在如下的哪一个类中?
(B、java.1ang.Integer)
13、关于对下列代码段的描述,正确的一项是(C)。
catch(Exceptione){
System.Err.println(“Anexceptionwasthrown”);
throwe;
}
A、程序终止B、编译出错C、该异常不会被处理D、该异常会继续被上层处理
14、下列说法中,错误的一项是(C)。
A、内部类是被定义于另一个类中的类
B、使用内部类实现监听器,在编程时比较容易实现
C、内部类对象可以访问外部类的成员方法和变量,包括私有成员
D、由于内部类定义于另一个类,因此不适用于AWT的事件处理机制
15、下面选项是StringBuffer的构造方法,哪个选项是错误的(B)
AStringBuffer()
BStringBuffer(intcapacity)
CStringBuffer(Stringstr)
DStringBuffer(char[]data)
16、下面关于变量及其范围的陈述哪是不正确的(A)
A实例变量用关键字static声明
B局部变量在使用前必须被初始化
C实例变量是类的成员变量
D在方法中定义的局部变量在该方法被执行时创建
17.以下关于继承的叙述正确的是(B)。
A、在Java中类只允许单一继承
B、在Java中一个类只能实现一个接口
C、在Java中一个类不能同时继承一个类和实现一个接口
D、在Java中接口只允许单一继承
18、下说法中错误的一项是(A)。
A、线程一旦创建,则立即自动进行
B、线程创建后需要调用start()方法,将线程置于可运行状态
C、调用线程的start()方法后,线程也不一定能立即执行
D、线程处于可运行状态,意味着它可以被调度
19、包packone的类ClassOne中有如下成员方法:
protectedvoidmethod_A(){...}
privatevoidmethod_B(){...}
publicvoidmethod_C(){...}
voidmethod_D(){...}
类ClassTwo不属于包packone并且不是ClassOne的子类,在ClassTwo类中可以调用哪个方法(C、method_C
20、下面哪一个import命令可以为我们提供编写网络应用程序的类(;C、importjava.io.*;
二、编程题:
共2小题(第1题20分,第2题60分)
1、在提示下从键盘上输入10个整数,并将其放入一个一维数组中,然后将其前5个元素与后5个元素对换(20分)。
publicclassTextA
{publicvoida1()
{
System.out.print("请输入10个数字:
");
inta[]=newint[10];
for(inti=0;i<10;i++)
{
InputStreamReaderins=newInputStreamReader(System.in);
BufferedReaderinb=newBufferedReader(ins);
s=inb.readLine();
c=Integer.parseInt(s);
a[i]=c;
}
System.out.print("对换前:
");
for(inti=0;i<10;i++)
{
System.out.println(a[i]+"");
}
for(inti=0;i<5;i++)
{
intm;
m=a[i];
a[i]=a[9-i];
a[9-i]=m;
}
System.out.print("对换后:
");
for(inti=0;i<10;i++)
{
System.out.println(a[i]+"");
}
}
publicstaticvoidmain(Stringargs[])
{
TextAn=newTextA();
n.a1();
}
}
2、
(1)编程实现界面如图1所示。
(系别:
英语系、水产系)(30分,其中组件20分,布局10分)
图1初始界面
(2)输入图2中所示的学生信息,点击“添加”按钮自动将信息添加到D:
\\info.txt文件。
存放格式如图3所示。
(15分)
图2添加信息界面
图3文件info内容
(3)如果输入为空,在添加时给出相应的提示。
(5分)
(4)点击“显示”按钮将D:
\\info.txt文件中的信息显示在右侧的文本区,如图4所示。
(10分)
图4显示结果界面
(5)实现窗体关闭按钮动作(5分)
packagetexta;
importjavax.swing.*;
importjava.awt.*;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
//importjava.io.BufferedReader;
//importjava.io.FileNotFoundException;
//importjava.io.FileReader;
importjava.io.*;
publicclassA2{
publicStringsex1;
publicStringxibie;
publicStringsums="\n";
JFramef;
JPanelp1;
JPanelp2;
JPanelp11;
JPanelp12;
JPanelp13;
JPanelp14;
JPanelp15;
JLabell1;
JLabell2;
JLabell3;
JLabell4;
JTextFieldt1;
JTextFieldt2;
JRadioButtonr1;
JRadioButtonr2;
JComboBoxcom;
JButtonb1;
JButtonb2;
JTextAreaa;
publicA2()
{
f=newJFrame("学生信息");
f.setSize(400,250);
f.setLayout(newGridLayout(1,2));
p1=newJPanel();
p2=newJPanel();
Containercon=f.getContentPane();
con.setLayout(newFlowLayout());
//con.setBackground(Color.yellow);
con.add(p1);
con.add(p2);
a=newJTextArea(10,16);
p2.add(a);
p11=newJPanel();
p12=newJPanel();
p13=newJPanel();
p14=newJPanel();
p15=newJPanel();
l1=newJLabel("学号");
l2=newJLabel("姓名");
l3=newJLabel("性别");
l4=newJLabel("系别");
t1=newJTextField(10);
t2=newJTextField(10);
r1=newJRadioButton("男");
r2=newJRadioButton("女");
ButtonGroupsex=newButtonGroup();
sex.add(r1);
sex.add(r2);
Objects[]={"英语系","水产系"};
com=newJComboBox(s);
b1=newJButton("添加");
b2=newJButton("显示");
p11.add(l1);
p11.add(t1);
p12.add(l2);
p12.add(t2);
p13.add(l3);
p13.add(r1);
p13.add(r2);
p14.add(l4);
p14.add(com);
p15.add(b1);
p15.add(b2);
p1.setLayout(newGridLayout(5,1));
p1.add(p11);
p1.add(p12);
p1.add(p13);
p1.add(p14);
p1.add(p15);
p11.setBackground(Color.yellow);
p12.setBackground(Color.yellow);
p13.setBackground(Color.yellow);
p14.setBackground(Color.yellow);
p15.setBackground(Color.yellow);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
r1.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEventarg0){
sex1=r1.getText();
}});
r2.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEventarg0){
//TODO自动生成方法存根
sex1=r2.getText();
}});
com.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEventarg0){
//TODO自动生成方法存根
xibie=com.getSelectedItem().toString();
}});
b1.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEventarg0){
//TODO自动生成方法存根
if(t1.getText().equals("")||t2.getText().equals(""))
{a.setText("姓名和学号不能为空");}
else
{
Stringstr="学号"+t1.getText()+"姓名"+t2.getText()+"性别"+sex1+"系别"+xibie+"\n";
sums+=str+"\n";
System.out.println(str);
try{
FileWriterfw=newFileWriter("D:
\\info.txt");
fw.write(sums);
fw.close();
}catch(IOExceptione){
//TODO自动生成catch块
e.printStackTrace();
}
//两个写入都可以
/*
;
try{
FileOutputStreamfos=newFileOutputStream("D:
\\info.txt");
PrintStreamps=newPrintStream(fos);
ps.print(str);
}catch(FileNotFoundExceptione){
//TODO自动生成catch块
e.printStackTrace();
}
*/
a.setText("");
}
}
});
b2.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEventarg0){
intm;
FileReaderfr;
try{
fr=newFileReader("D:
\\info.txt");
BufferedReaderbr=newBufferedReader(fr);
Strings=br.readLine();
while(s!
=null)
{
a.append(s);
a.append("\n");
s=br.readLine();
}
}catch(FileNotFoundExceptione){
//TODO自动生成catch块
e.printStackTrace();
}catch(IOExceptione){
//TODO自动生成catch块
e.printStackTrace();
}
}});
}
publicstaticvoidmain(String[]args){
A2n=newA2();
//TODO自动生成方法存根
}
}