Java语言程序设计IB李金双.docx
《Java语言程序设计IB李金双.docx》由会员分享,可在线阅读,更多相关《Java语言程序设计IB李金双.docx(12页珍藏版)》请在冰点文库上搜索。
Java语言程序设计IB李金双
东北大学继续教育学院
Java语言程序设计I试卷(作业考核线上)B卷
学习中心:
新疆昌吉奥鹏学习中心
院校学号:
C59940212090005姓名:
周函
(共9页)
总分
题号
一
二
三
四
五
六
七
八
九
十
得分
一、选择题(请将所有正确答案写到答题卡中,每小题3分,共60分)
答
题
卡
题号
1
2
3
4
5
6
7
8
9
10
答案
C
D
B
B
C
D
C
A
C
A
题号
11
12
13
14
15
16
17
18
19
20
答案
A
B
AD
C
D
D
C
B
A
D
1.下面的代码段中,执行之后i和j的值是什么?
inti=1;
intj;
j=i++;
A.1,1
B.1,2
C.2,1
D.2,2
2.在Applet的关键方法中,下列哪个方法是关闭浏览器以释放Applet占用的所有资源?
A.init()
B.start()
C.paint()
D.destroy()
3.能从循环语句的循环体中跳出的语句是()。
A.for语句
B.break语句
C.while语句
D.continue语句
4.按照Java的标识符命名规范,下列表示一个类的标识符正确的是
A.Helloworld
B.HelloWorld
C.helloworld
D.helloWorld
5.若有循环:
intx=5,y=20;
do{
y-=x;
x++;
}while(++x<--y);则循环体将被执行()。
A.0次
B.1次
C.2次
D.3次
6.下列代码中,将引起一个编译错误的行是
1)publicclassTest{
2)intm,n;
3)publicTest(){}
4)publicTest(inta){m=a;}
5)publicstaticvoidmain(Stringargs[]){
6)Testt1,t2;
7)intj,k;
8)j=0;k=0;
9)t1=newTest();
10)t2=newTest(j,k);
A.第3行
B.第5行
C.第6行
D.第10行
7.下面哪个是main()函数的合法参数?
A.charargs[]
B.charargs[][]
C.Stringargs[]
D.Stringargs
8.下列叙述中,正确的是
A.Java语言的标识符是区分大小写的
B.源文件名与public类名可以不相同
C.源文件扩展名为.jar
D.源文件中public类的数目不限
9.下列语句序列执行后,k的值是()。
intj=8,k=15;
for(inti=2;i!
=j;i++)
{j-=2;k++;}
A.15
B.16
C.17
D.18
10.当浏览器重新返回Applet所在页面时,将调用Applet类的方法是
A.start()
B.init()
C.stop()
D.destroy()
11.下面哪一个能够正确的隐藏方法voidhai(inta,intb)?
A.publicvoidhai(inta,intb)
B.publichai(inta)
C.inthai(intc,intd)
D.inthai(Strings)
12.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用()个比特位。
A.8
B.16
C.32
D.64
13.已知如下定义:
Strings="story";
下面哪些表达式是合法的?
A.s+="books";
B.charc=s[1];
C.intlen=s.length;
D.Stringt=s.toLowerCase();
14.下面程序的输出结果是什么?
classC1{
staticintj=0;
publicvoidmethod(inta){
j++;
}
}
classTestextendsC1{
publicintmethod(){
returnj++;
}
publicvoidresult(){
method(j);
System.out.println(j+method());
}
publicstaticvoidmain(String
A.0
B.1
C.2
D.3
15.下列的哪个选项可以正确用以表示八进制值8?
A.0x8
B.0x10
C.08
D.010
16.下列关于继承的哪项叙述是正确的?
A.在java中允许多重继承
B.在java中一个类只能实现一个接口
C.在java中一个类不能同时继承一个类和实现一个接口
D.java的单一继承使代码更可靠
17.以下字符常量中不合法的是()。
A.'|'
B.'\''
C."\n"
D.'我'
18.下面哪一条语句可以创建一个可以存放50个字符串数据的数组?
A.chara[][];
B.Stringa[];
C.Stringa[50];
D.chara[];
19.已知有下列类的说明,则下列哪个语句是正确的?
publicclassTest
{
privatefloatf=1.0f;
intm=12;
staticintn=1;
publicstaticvoidmain(Stringarg[])
{
Testt=newTest();
}
}
A.t.f;
B.this.n;
C.Test.m;
D.Test.f;
20.下面那种说法是不对的?
A.一个方法可以同时为protected和abstract类型
B.static变量也可以是final类型
C.static方法也可以是protected类型
D.static方法也可以是abstract类型
二、读程序(每小题5分,共20分)
1.写出以下程序的运行结果。
public class Sum
{ public static void main(String args[])
{ double sum=0.0;
for (int i=1; i<=100;i++)
sum+=1.0/(double)i;
System.out.println("sum="+sum);
}
}
5.187********9621
求解sum=1+1/2+1/3+…+1/100的值并打印输出。
2.写出以下程序的运行结果
importjava.io.*;
public class Class1
{
public static void main(String args[]){
int i,Max,Min;
int a[]={12,67,8,98,23,56,124,55,99,100};
Max=Min=a[0];
for (i=1;i if (a[i] if (a[i]>Max) Max=a[i];
}
System.out.println(Max+" "+Min);
System.out.println();
}
}
1248
3.写出下列程序完成的功能
import java.awt.*;
public class abc
{ public static void main(Stringargs[])
{ newFrameOut();}
}
class FrameOut extends Frame
{ Buttonbtn;
FrameOut()
{ super("按钮");
btn=new Button("按下我");
setLayout(new FlowLayout());
add(btn);
setSize(300,200);
show();
}
}
展示一个有按钮的窗口,按钮上写着按下我。
4.写出以下程序的运行结果
import java.awt.*;
import java.applet.Applet;
public class Applet1 extends Applet
{
public void paint(Graphics g)
{
g.drawLine(30,5,100,45);
g.drawRect(30,50,50,20);
g.drawOval(30,80,50,40);
g.drawString("They are figures!
",30,150);
}
}
程序画了斜线,矩形,圆,还有一个字符串。
三、程序设计题(共20分)
建立一个表示复数的类:
私有数据为两个浮点数分别表示实部和虚部,初始化方式有1)无参默认为0;2)两个浮点数分别表示实部和虚部;外部接口有:
以a+bi的形式输出的复数;两个复数相加;复数加一浮点数;比较两个复数是否相等。
答:
实现代码:
packageqian;
classFushu{
privatefloatreal;//实部
privatefloatimagin;//虚部
privatestaticFushufushu=newFushu();
publicstaticFushugetFushu(){
returnfushu;
}
publicFushu(){//无参默认为(0,2)
this.real=0F;
this.imagin=2F;
}
publicStringtoString(){//以a+bi的形式输出的复数
returnreal+"+"+imagin+"i";
}
//a+bi+(c+di)=(a+c)+(b+d)i
publicstaticFushuadd(Fushuf,Fushug){//两个复数相加
FushuFushu=newFushu();
Fushu.setReal(f.getReal()+g.getReal());
Fushu.setImagin(f.getImagin()+g.getImagin());
returnFushu;
}
//a+bi+f=(a+f)+bi
publicstaticFushuaddFloat(Fushuc1,floatfValue){//复数加一浮点数
c1.setReal(c1.getReal()+fValue);
returnc1;
}
//a+bi==?
c+di---->a==c,b==d-->it'strue
publicstaticbooleanequal(Fushuc1,Fushuc2){//比较两个复数是否相等
returnc1.getReal()==c2.getReal()&&c1.getImagin()==c2.getImagin();
}
publicfloatgetImagin(){
returnimagin;
}
publicvoidsetImagin(floatimagin){
this.imagin=imagin;
}
publicfloatgetReal(){
returnreal;
}
publicvoidsetReal(floatreal){
this.real=real;
}
}
publicclassFu_shu_Demo{
publicstaticvoidmain(String[]args){
Fushuf1=null;
f1=Fushu.getFushu();
f1.setReal(4.5f);
f1.setImagin(5.5f);
Fushuf2=null;
f2=Fushu.getFushu();
f2=f1;
System.out.println("以a+bi的形式输出的复数为:
"+Fushu.add(f1,f2).toString());
System.out.println("以a+bi的形式输出的复数加一浮点数为:
"
+Fushu.addFloat(f1,2.0f).toString());
System.out.println("比较两个复数是否相等:
"+Fushu.equal(f1,f2));
}
}