中国石油大学(北京)网络与继续教育学院《Java语言程序设计》期末考试

中国石油大学(北京)网络与继续教育学院
期 末 考 试
《Java语言程序设计》

有不会的题可以问我,互相学习。QQ116119409。

一、简答题(6题,每题5分,共30分)
1、什么是方法重写?
1、答案:

2、什么是多态?
2、答案:

3、抽象类和接口的区别?
3、答案:

4、sleep() 和 wait() 有什么区别?
4、答案:

5、Java流被分为字节流、字符流两大流类,两者有什么区别?
5、答案:

6、AWT和Swing的区别?
6、答案:

二、编程题(3题,每题10分,共30分)
请按照题目的要求编写程序并给出运行结果。
1、设计一个学生类Student和它的一个子类Undergraduate,要求如下:
1) Student类有name(姓名)、和age(年龄)属性,一个包含两个参数的构造方法,用于给name和age属性赋值,一个show()方法打印Student的属性信息
2) 本科生类Undergraduate增加一个degree(学位)属性。有一个包含三个参数的构造方法,前两个参数用于给继承的name和age属性赋值,第三个参数给degree专业赋值,一个show()方法用于打印Undergraduate的属性信息
3) 在测试类中分别创建Student对象和Undergraduate对象,调用它们的show()。
1、答案:

2、设计一个Shape接口和它的两个实现类Square和Circle,要求如下:
1)Shape接口中有一个抽象方法area(),方法接收有一个double类型的参数,返回一个double类型的结果
2)Square和Circle中实现了Shape接口的area()抽象方法,分别求正方形和圆形的面积并返回,在测试类中创建Square和Circle对象,计算边长为2的正方形面积和半径为3的圆形面积
2、 答案:

3、使用TCP协议编写一个网络程序,设置服务器程序监听端口为8002,当与客户端建立连接后,向客户端发送“hello world”,客户端接负责将信息输出。提示:
1)使用ServerSocket创建服务器端对象,监听8002端口,调用accept()方法等待客户端连接,当与客户端连接后,调用Socket的getOutputStream()方法获得输出流对象,输出“hello world。
2)使用Socket创建客户端对象,指定服务器的IP地址和监听端口号,与服务器端建立连接后,调用Socket的getInputStream()方法获得输入流对象,读取数据,并打印出来
3)在服务器端和客户端都调用close()方法释放socket资源。
3、答案:

三、图形界面编程题(3题,每题10分,共30分)(要求:给出运行界面的截图)

1、编写一个JFrame窗口,要求如下:
1)在窗口的最上方放置一个JLabel标签,标签中默认的文本是“此处显示鼠标右键点击的坐标”
2)为JFrame窗口添加一个鼠标事件,当鼠标右键点击窗口时,鼠标的坐标在JLabel标签中显示
1、答案:

2、编写一个JFrame窗口,要求如下:
1)窗口中的NORTH区域中放置一个JPanel面板
2)JPanel面板中从左到右依次放置如下组件:
JLabel标签,标签的文本为“兴趣”
三个JCheckBox多选按钮,文本分别为“羽毛球”、“乒乓球”、“唱歌”
JLabel标签,标签的文本为“性别”
两个JRadioButton按钮,文本分别为“男”、“女”
3)窗口的CENTER区域放置一个JScrollPane容器,容器中放置一个JTextArea文本域
4)当点击多选按钮和单选按钮时,会把选中按钮的文本显示在JTextArea文本域中。
2、答案:

3、编写一个JFrame窗口,要求如下:
1)窗口包含一个菜单栏和一个JLabel标签。
2)菜单栏中有两个菜单,第一个菜单有两个菜单项,它们之间用分隔符分开,第二个菜单有一个菜单项。
3)JLabel标签放置在窗口的中间(即BorderLayout.CENTER),当点击菜单项的时候,菜单项中的文本显示的JLabel标签中。
3、答案:

四、程序分析题(1题,每题10分,共10分)
(要求:依据学号末尾数选择题号,10选1:例如学号尾号为1完成分析代码一;学号尾号为2完成分析代码二;学号尾号为3完成分析代码三;依此类推。学号尾号为0完成分析代码十;)

阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果。否则请说明编译失败的原因。
代码一:
public class Test02 {
public static void main(String[] args){
int x = 12;
{
int y = 96;
System.out.println("x is " + x);
System.out.println("y is " + y);
}
y = x;
System.out.println("x is " + x);
}
}
答案:

代码二:
public class Test03 {
public static void main(String args[]) {
int x = 4, j = 0;
switch (x) {
case 1:
j++;
case 2:
j++;
case 3:
j++;
case 4:
j++;
case 5:
j++;
default:
j++;
}
System.out.println(j);
}
}
答案:

代码三:
public class Test04 {
public static void main(String args[]) {
int n = 9;
while (n > 6) {
System.out.println(n);
n–;
}
}
}
答案:

代码四:
class A {
private int secret = 5;
}
public class Test1 {
public static void main(String[] args) {
A a = new A();
System.out.println(a.secret++);
}
}
代答案:

代码五:
public class Test2 {
int x = 50;
static int y =200 ;
public static void method() {
System.out.println(x+y);
}
public static void main(String[] args) {
Test2.method();
}
}
代答案:

代码六:
public class Outer {
public String name=“Outer”;
private class Inner {
String name=“inner”;
void showName(){
System.out.println(name);
}
}
public static void main(String[] args) {
Inner inner = new Outer().new Inner();
System.out.println(inner.name);
}
}
答案:

代码七:
public class Test01 {
public static void main(String[] args) {
try {
int x = 2 / 0;
System.out.println(x);
} catch (Exception e) {
System.out.println(“进入catch代码块”);
} finally {
System.out.println(“进入finally代码块”);
}
}
}
答案:

代码八:
final class Animal {
public final void shout() {
// 程序代码
}
}
class Dog extends Animal {
public void shout() {
// 程序代码
}
}
class Test02 {
public static void main(String[] args) {
Dog dog=new Dog();
}
}
答案:

代码九:
class Animal {
void shout() {
System.out.println(“动物叫!”);
}
}
class Dog extends Animal {
void shout() {
super.shout();
System.out.println(“汪汪……”);
}
}
public class Test03 {
public static void main(String[] args) {
Animal animal = new Dog();
animal.shout();

}

}
答案:

代码十:
interface Animal {
void breathe();
void run();
void eat(){};
}
class Dog implements Animal {
public void breathe() {
System.out.println(“I’m breathing”)
}
public void eat() {
System.out.println(“I’m eathing”)
}
}
public class test04 {
public static void main(String [] args) {
Dog dog = new Dog();
dog.breathe();
dog.eat();
}
}
答案:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安卓二手程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值