Java面向对象程序设计(江苏海洋大学) 中国大学mooc答案满分完整版章节测试

埂父卉甭精酣斡酶洗季搁晤侵


作业第1章 Java概述(1:35:15,施珺) 第1章 单元作业

1、 编写一个Java 程序,用字符界面或图形界面(采用Application 或 Applet结构均可)输出自己喜欢的一句话或者一首诗,内容自定义,比如:“只争朝夕,不负韶华!”、“天生我材必有用,时不我待展翅飞!”“用Java语言编写程序是一个痛并快乐着的过程!”、“每天写100行代码并坚持100天,是成为Java编程高手的标配。”、“三人行必有我师,不耻下问可以少走弯路。” 操作步骤指导:打开TextPad → 在新建文档窗口中输入程序 → 保存 → 输入文件名,比如  JavaAppWork1 →文件类型选择:Java(*.java)→ 工具菜单中:编译 Java → 工具菜单中:运行 Java应用程序。提醒:对多行文字,注意采用恰当的方式进行换行、对齐。要求: 1) 类名、方法、变量等命名要规范,词能达意; 2) 源程序要规范缩进,且对源程序适当添加注释;     3) 源程序命名:类名中包含自己姓名的汉语拼音缩写(大写)作为后缀,比如:施珺完成的作业 JavaAppWorkSJ.java。
评分规则:  评分指导: 1、按照规范命名类名:1分;2、按照规范命名变量名:1分;3、使用import语句导入正确的包必要的话:1分;4、源程序要规范缩进:1分;5、对源程序适当添加注释:1分;6、程序正常运行:1分。

 

2、 编写一个Java 程序,用字符界面或图形界面(采用Application 或 Applet结构均可)输出自己喜欢的一句话或者一首诗,内容自定义,比如:“只争朝夕,不负韶华!”“请党放心,强国有我!”“如何早日成为Java编程高手?每天写100行代码并坚持100天!”“三人行必有我师,不耻下问可以少走弯路。” 操作步骤指导:打开TextPad → 在新建文档窗口中输入程序 → 保存 → 输入文件名,比如  JavaAppWork1 →文件类型选择:Java(*.java)→ 工具菜单中:编译 Java → 工具菜单中:运行 Java应用程序。提醒:对多行文字,注意采用恰当的方式进行换行、对齐。要求: 1) 类名、方法、变量等命名要规范,词能达意; 2) 源程序要规范缩进,且对源程序适当添加注释;     3) 源程序命名:类名中包含自己姓名的汉语拼音缩写(大写)作为后缀,比如:施珺完成的作业 JavaAppWorkSJ.java。
评分规则:  评分指导: 1、按照规范命名类名:1分;2、按照规范命名变量名:1分;3、使用import语句导入正确的包必要的话:1分;4、源程序要规范缩进:1分;5、对源程序适当添加注释:1分;6、程序正常运行:1分。

第1章 Java概述(1:35:15,施珺) 第1章 单元测验

1、 下列______不是Sun公司提供的Java运行平台。

A:J2LE
B:J2SE
C:J2EE
D:J2ME
答案: J2LE

2、 字节码是______。

A:机器码
B:接近机器码的二进制文件
C:文本文件
D:注释文件
答案: 接近机器码的二进制文件

3、 main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的______.

A:public static int main(String[ ] arg)
B:public static void main()
C:public static void main(String[ ] args)
D:public void main(String arg[ ])
答案: public static void main(String[ ] args)

4、 javac的作用是____。

A:将源程序编译成字节码
B:将字节码编译成源程序
C:解释执行Java字节码
D:模拟运行Java小程序
答案: 将源程序编译成字节码

5、 以下关于Java虚拟机的描述,不正确的是(         ) 。

A:JVM是Java Virtual Machine的缩写。
B:JVM是运行Java 所需的硬件设备。‍
C:‍‍从底层看,Java虚拟机就是以Java 字节码为指令组的软CPU。
D:‍Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。‍
答案: JVM是运行Java 所需的硬件设备。‍

6、 下列关于Java 语言特点的叙述中,错误的是()。

A:Java是跨平台的编程语言
B:Java是面向对象的编程语言
C:Java是面向过程的编程语言
D:Java支持分布式计算
答案: Java是面向过程的编程语言

7、 下列选项中,不属于Java语言特点的是()。

A:面向对象,解释型
B:简单,安全高效
C:多线程,解释型
D:支持指针操作,多继承
答案: 支持指针操作,多继承

8、 与其他面对对象语言相比,Java语言突出的特点是()。

A:解释执行,与平台无关
B:支持动态联编
C:支持多重继承
D:支持网络通信
答案: 解释执行,与平台无关

9、 Java编译器会将Java程序转换为一种代码,该代码叫()。

A:机器代码
B:字节码
C:字符码
D:源程序
答案: 字节码

10、 下列选项中,能将Java源程序编译为字节码的命令是()。

A:javac
B:javah
C:java
D:javap
答案: javac

11、 命令java.exe的作用是( )。

A:调试Java代码
B:将字节码编译成源程序
C:将源程序编译成字节码
D:解释执行Java字节码
答案: 解释执行Java字节码

12、 下列叙述中,正确的是()。

A:源文件名与public 类名可以不相同
B:源文件中public 类的数目不限
C:源文件的扩展名为.Java
D:Java 语言的标识符是区分大小写的
答案: Java 语言的标识符是区分大小写的

13、 安装好JDK后,在其bin目录下有许多exe可执行文件,其中java.exe命令的作用是以下哪一种?

A:Java文档制作工具
B:Java编译器
C:java反汇编
D:Java解释器
答案: Java解释器

14、 一个Java源文件中可以有多个类,但只能有一个类是public的。

A:正确
B:错误
答案: 正确

15、 JDK和JRE的功能是完全一样的。

A:正确
B:错误
答案: 错误

16、 一个Java源文件中包括的public 类最多1个。

A:正确
B:错误
答案: 正确

17、 目前,Java的许多集成开发环境,大多是以Sun公司提供的JDK开发工具集为基础的。

A:正确
B:错误
答案: 正确

18、 字节码文件是与平台无关的二进制码,执行时由解释器解释成本地机器码。

A:正确
B:错误
答案: 正确

19、 Java语言中,程序封装的最小单位是类。

A:正确
B:错误
答案: 正确

20、 Applet小程序是能够嵌入在浏览器中运行的Java类。

A:正确
B:错误
答案: 正确

21、 一个Java源文件中包括的public类定义最少1个。

A:正确
B:错误
答案: 错误

作业第2章 Java语言基础(3:28:23,陈艳艳) 第2章 单元作业

1、 两个3位数之间的所有素数之和。
建议:本题是主观题,暂无解析

2、 居民电费阶梯式计价器
建议:本题是主观题,暂无解析

3、 华氏温度与摄氏温度的换算
建议:本题是主观题,暂无解析

4、 字符出现频率统计
建议:本题是主观题,暂无解析

5、 求n个非负整数之和
建议:本题是主观题,暂无解析

6、 24小时制与12小时制的时间换算
建议:本题是主观题,暂无解析

7、 学习小组结伴
建议:本题是主观题,暂无解析

第2章 Java语言基础(3:28:23,陈艳艳) 第2章 单元测验

1、 下列变量定义中,正确的是()

A:char ch = “12”;
B:double d = 2.5;
C:float f=0.5;
D:boolean k=1;
答案: double d = 2.5;

2、 若有 int x = 3 , y = 6 ; 则( x++ ) *( ++ y )的值是(           )。 

A:24
B:28
C:21
D:18
答案: 21

3、 下列代码段执行后,s的值为(        ) int[] a = {1,2,3,4,5};  int s = 0;  for(int i = 0 ; i < 5 ; i++)       if( i % 2 ==0)                s += a[i];

A:0
B:6
C:15
D:9
答案: 9

4、 下列代码段执行后,f的值为()int  x=12,f;f = 0;for (int i = 2;i<x;i++)   if( x % i==0 )      f=f+i;

A:15
B:12
C:66
D:16
答案: 15

5、 下列选项中,不属于Java关键字的是()。

A:Method    
B:super   
C:interface     
D:this
答案: Method    

6、 下列选项中,编译时会出现错误的是()。

A:double  $ d = 6.18 ; 
B:int _i = 100 ; 
C:boolean  1_flag = true ; 
D:float  F1= 1.0  f ; 
答案: boolean  1_flag = true ; 

7、 使表达式 x % 2 = = 0  &&  x > 50  ||  x < 2 0的值为false的选项是()。

A:x = 15  
B:x = 18 
C:x = 60 
D:x = 85  
答案: x = 85  

8、 下列运算符中,优先级最高的是()。

A:&&
B:==
C:++
D:+=
答案: ++

9、 下列代码段执行后,a的值为()。float  x=2.4f;int a=0;switch((int) x) {     case 1:  a++;     case 2:  a+=2;     case 3:  a+=3;}

A:3
B:5
C:6
D:1
答案: 5

10、 下列代码段执行后,n的值为()。    int f = 1,n = 0;    while(true){      f = f * 2;      n++;      if ( f >= 128) break;    }

A:3
B:8
C:5
D:7
答案: 7

11、 下列程序的运行结果是()。   public class  Test  {
    public static void main (String[] args)  {
      int count = 0 ;
      for( int  i = 1 ; i < 5 ;i + = 2)
         for( int  j = 1 ; j<= 10 ; j += 3)
           count ++ ;
      System .out .print (count ) ;
    }
}

A:10
B:40
C:8
D:0
答案: 8

12、 下列语句执行后,i的值为()。String str = “rook\”n\”roll”;
String str1 = “\””;
int i = str.indexOf(str1);

A:4
B:7
C:6
D:5
答案: 4

13、 下列程序段执行后的输出结果是()。int [][] b = {{1, 2, 3}, {4, 5},{6}};
int sum=0;
for(int i = 0;i<b.length;i++) {
   for(int j = 0;j<b[i].length;j++) {
      sum += b[i][j];
      }
}
System.out.println(sum);

A:6
B:28
C:21
D:9
答案: 21

14、 下列代码段执行后,k的值为()。int x =4, y = 5;int k= –x*y++;

A:18
B:15
C:20
D:24
答案: 15

15、 下列代码段执行后,k的值为()。int  x = 12,y = 15,k;
for(k = x;k<=x*y;k=k+x)
   if(k % x==0 && k % y==0)
     break;

A:60
B:180
C:12
D:15
答案: 60

16、 下列代码段执行后,k的值为()。int a = 15,b = -5, k;
if (a > 0 && a < 10 )
  if (b > 0)
    k = 1;
  else
    k = 2;
else
  if (b > 0)
    k = 3;
  else
    k = 4;

A:2
B:1
C:4
D:3
答案: 4

17、 下列选项中,可实现无限循环的语句是()。

A:while( true ) {  } 
B:for (  )   {  } 
C:while ( 1 )  {  } 
D:while ( ! 0 ) {  }
答案: while( true ) {  } 

18、 若有语句 s =”java ” ; 则查找 s 中字母 a 最后出现位置的语句是()。

A:s.lastIndexOf(‘a’);
B:indexOf(s ,’a’) ;
C:charAt( 2 ) ; 
D:s .indexOf (‘a’); 
答案: s.lastIndexOf(‘a’);

19、 下列变量定义中,错误的是()。

A:int x = 3;  
B:Boolean b = 1; 
C: String s = “Hello”; 
D:double f = 2.5;
答案: Boolean b = 1; 

20、 下列运算符中,属于一元运算符的是()。

A:,
B:&
C:|
D:!
答案: !

21、 下列选项中,不属于位运算符的是()。

A:^
B:>>
C:|
D:++
答案: ++

22、 下列修改x的表达式中,与其他选项意义不同的是()。

A:x + 1 
B: x = x + 1 
C: ++x
D: x++   
答案: x + 1 

23、 下列能正确定义二维浮点数数组的是()。

A:float f[7,7] = new float[][]; 
B:float f[][] = new float[7,7];
C:float f[][] = new float[7][7];   
D:float f[7][7] = new float[][];
答案: float f[][] = new float[7][7];   

24、 下列给整型二维数组进行赋值的语句中,错误的是()。

A:int i[][] = {{0}, {1,2}, {3, 4}};   
B:int i[][] = {{0}, {1,2, 3, 4}};
C:int i[2][2] = {{1,2}, {3, 4}};    
D:int i[][] = {{1,2}, {3, 4}};  
答案: int i[2][2] = {{1,2}, {3, 4}};    

25、 Java面向对象程序设计(江苏海洋大学) 中国大学mooc答案满分完整版章节测试第1张

A:0
B:1
C:3
D:2
答案: 1

26、 Java面向对象程序设计(江苏海洋大学) 中国大学mooc答案满分完整版章节测试第2张

A:LANGUAGE
B:JAVALANGUAGE
C:ANGUA
D:JAVA
答案: ANGUA

27、 下列语句执行后的结果是()。int [][] intArray = {{1,2,3},{4,5}};System.out.println(intArray[0].length + “,”+ intArray[1].length);

A:3, 2 
B:3,3
C:5,5
D:2,2
答案: 3, 2 

28、 下列语句执行后,i的值为()。String str = “rook\”n\”roll”;String str1 = “\””;int i = str.indexof(str1);

A:4 
B:7
C:6
D:5
答案: 4 

29、 下列给字符串二维数组进行赋值的语句中,错误的是()。

A:String s[ ] [ ] = new String [ ] [ ]  { { “One “ , “ Two “ }, { “ Three “ , “ Four “ } } ;
B:String s[ ] [ ] = { { “ One “ , “Two “},{ “ Three “ , “ Four “ } } ;
C:String s[ ] [ ] = new String [ ] [ ] { { “Zero”} , { “ One ” , “Two” , “ Three” , “ Four” } } ;
D:String s[ 2] [2 ] = { { “ One ” , “Two”},{“ Three” , “ Four” } } ; 
答案: String s[ 2] [2 ] = { { “ One ” , “Two”},{“ Three” , “ Four” } } ; 

30、 语句  System.out.println(“Hello”.equals(“hello”)?”true”:”false”);  的显示结果为( )。

A:Hello
B:hello
C:false
D:true
答案: false

31、 下列选项代码段执行后输出结果是()。   String  str1 = “ 1234” ;   String  str2 = str 1 .replace ( “ 34”, “ 43”) ;   System .out .println ( str1 + “  ” + str 2) ;

A:1 2 3 4    1 2 2 1
B:1 2 3 4    3 4 4 3
C:1 2 3 4    1 2 3 4
D:1 2 3 4    1 2 4 3
答案: 1 2 3 4    1 2 4 3

32、 下列能表示字符串s1长度的是()。

A:s1.size() 
B:s1.size 
C:s1.length()   
D:s1.length 
答案: s1.length()   

33、 Java面向对象程序设计(江苏海洋大学) 中国大学mooc答案满分完整版章节测试第3张

A:true, true
B:false, false
C:true,false
D:false, true
答案: false, true

34、 下列代码执行时,产生的异常是()。double[] dArray = new double[10];dArray[20] = 3.00;

A:DividedByZeroException
B:ArithmeticException
C:ArrayIndexoutofBoundsException
D:NullPointerException
答案: ArrayIndexoutofBoundsException

35、 Java面向对象程序设计(江苏海洋大学) 中国大学mooc答案满分完整版章节测试第4张

A: s=
B:“s=”
C:s=null 
D: s=s 
答案: s=null 

36、 下列代码执行时,产生的异常是()。  String s = null;  s.concat(“abc”);

A:EOFException
B:NullPointerException
C:IOException
D:ArithmeticException
答案: NullPointerException

37、 下列方法名的定义中,符合Java 命名约定的是       。

A:public void  _printString( )
B:public void  $printString ( ) 
C:public void  printString ( )
D:public void  PrintString ( )    
答案: public void  printString ( )

38、 在Java语言中,被称为内存分配的运算符是______。

A:new
B:instanceof
C:[ ] 
D:( )
答案: new

39、 下列代码段执行后,x,y的值分别为______。   int x = 3,y = 1;   boolean t = ( x++ > y ) || ( y++ >1);

A:4   2
B:3  2
C:4  1
D:3  1
答案: 4  1

40、 阅读下面程序:import java.io.*;public class TypeTransition{public static void main(String args[]){char a=’h’;int i=100;int j=97;int aa=a+i;System.out.println(“aa=”+aa);char bb=(char)j;System.out.println(“bb=”+bb);}}如果输出结果的第二行为bb=a,那么第一行的输出结果是       。

A:aa=I
B:aa=204
C:aa=v
D:aa=156
答案: aa=204

41、 switch (expression ) 语句中,表达式expression不允许的类型是______。

A:byte
B:int
C:char
D:boolean
答案: boolean

42、 下列选项中,循环会无限执行的是______。

A:int i = 1 ;    while ( i < 10)        System .out .print( “ ” + i) ;
B:for( int i = 1 ; i < 10 ;i ++)         System .out .print( “ ” + i);
C:for( int i = 10 ; i > 0 ;i –)         System .out .print( “ ” + i);
D:int i = 1 ;    while (true) {         System .out .print( “ ” + i);          i ++ ;          if ( i > 5)             break ;
答案: int i = 1 ;    while ( i < 10)        System .out .print( “ ” + i) ;

43、 若已有下列定义,则值为4的表达式是______。int []a = {1,2,3,4,5,6,7,8,9,10};char c = ‘a’, d, g;

A:a[‘d’ – ‘c’]
B:a[g -c]
C:a[‘d’ -c]
D:a[4]
答案: a[‘d’ -c]

44、 下列代码段执行后的结果是______。int[] a={6,8,3,1,2};int j=4;for(int i=0; i<2; i++)   a[i] = a[j–];for(int i=0; i<5; i++)   System.out.print(a[i]+ “ ”);

A:1 2 3 6 8
B:2 1 3 8 6
C:2 1 3 1 2
D:1 2 3 1 2
答案: 2 1 3 1 2

45、 下列程序的运行结果是______。public class Person {static int arr[ ]=new int[10];public static void main(String  args ) {      System.out.println(arr[9]);}}

A:输出零
B:编译时正确,运行时将产生错误
C:输出空
D:编译时将产生错误
答案: 编译时正确,运行时将产生错误

46、 下列语句执行后,s的值为______。String  greeting=“Hello,everybody!”;String  s=greeting.substring(0,4);

A:Hell
B:llo
C:ello
D:Hello
答案: Hell

47、 下列代码执行后,a的值是______。String  str = “Communication”;char  a = str.charAt(4);

A:r
B:null
C:空格
D:u
答案: u

48、 以下______表达式是不合法的。

A:String x=”Hello”; int y=9; x+=y;
B:String x=”Hello”; int y=9; if(x==y) { }
C:String x=”Hello”; int y=9; x=x+y;
D:String x=null; int y=(x!=null)&&(x.length()>0) ? x.length() : 0
答案: String x=”Hello”; int y=9; if(x==y) { }

49、 下列代码段的执行结果是______。int[][] a = {{1,4,3,2}, {8,6,5,7}, {3,7,2,5},{4,18,6,1}};int i0=0,j0=0;int min = a[0][0], max = a[0][0];for (int i=0; i<4; i++){ for(int  j=0; j<4; j++){  if(a[i][j]<min){   min = a[i][j];   i0=i;  }else{   if (a[i][j]>max){    max = a[i][j];    j0=j;   }  } }}System.out.println(i0+” ”+j0);

A:3  1
B:3  0
C:0  0
D:0  1
答案: 0  1

50、 下列方法名的定义中,符合Java 命名约定的是       。

A:public void  _printString( )
B:public void  $printString ( )
C:public void  printString ( )
D:public void  PrintString ( )  
答案: public void  printString ( )

51、 Java语言中的数组元素只能是基本数据类型而不能为对象类型。

A:正确
B:错误
答案: 错误

52、 return语句不是Java语言中的跳转语句。

A:正确
B:错误
答案: 错误

53、 do……while循环的执行过程是无条件执行循环体一次,再根据判断条件决定是否继续执行循环体。

A:正确
B:错误
答案: 正确

54、 if(true){int i=100;} System.out.println(i);运行此程序的结果是输出100。

A:正确
B:错误
答案: 错误

55、 语句“b=2a+2;”是正确的表达式。

A:正确
B:错误
答案: 错误

56、 语句”Hello”.equals(“hello”);的结果是true。

A:正确
B:错误
答案: 错误

57、 ?:是条件运算符。

A:正确
B:错误
答案: 正确

58、 Javay语言中,||和|是同一种运算的两种不同形式。

A:正确
B:错误
答案: 错误

59、 Java语言中,>>和>>>没有区别,都表示右移运算。

A:正确
B:错误
答案: 错误

60、 print()方法和println()方法的区别在于是否在行末有回车换行。

A:正确
B:错误
答案: 正确

第3章 Java面向对象编程(3:13:28,施珺) 第3章 单元测验

1、 下列关于import语句的说法中,错误的是()

A:import语句用于引入程序要使用的Java类
B:程序中可以包括多个import语句
C:所有程序都至少需要一个import语句
D:Import语句必须写在所有类的定义之前
答案: 所有程序都至少需要一个import语句 

2、 下列关于Java继承的说法中,正确的是()

A: 最终类可以作为其他类的父类
B:Java中的类可以有多个直接父类
C:Java中的接口支持多继承
D:抽象类不能有子类
答案: Java中的接口支持多继承 

3、 下列选项中,与成员变量共同构成一个类的是___。

A:运算符
B:方法
C:表达式
D:关键字
答案: 方法 

4、 下列类中,实现了Set接口的是()

A: Vector
B:ArrayList
C:LinkedList
D:LinkedHashSet
答案: LinkedHashSet

5、 关于被保护控制符protected修饰的成员变量,以下说法正确的是()

A:可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B:可以被两种类访问和引用:该类本身、该类的所有子类
C:只能被同一个包中的类访问
D:        只能被该类自身所访问和修改
答案: 可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类 

6、 Java语言中,下列说法中正确的是()‍

A:抽象类默认是public类
B:一个Java类只能继承一个父类,也只能实现一个接口
C:引用一个类的任何属性或调用其任何方法都必须以这个类的对象名为前缀
D:无名包中的类不能被其他包中的类引用和复用
答案: 无名包中的类不能被其他包中的类引用和复用

7、 已知  void method( );   是父类中定义的一个方法,下面()是子类中重写该方法的正确形式。

A:int method() { return 0; }
B:void method(){ }
C:private void method(){ }
D:       void method(int i){ }
答案: void method(){ }

8、 下列叙述中,错误的是()

A:       父类不能替代子类
B:子类继承父类
C:       子类能够替代父类
D:父类包含子类
答案: 父类包含子类

9、 如果有一个类MyFrame 是Frame 的子类,但它不能被实例化,请写出该类的声明头为()

A:class MyFrame abstract extends Frame
B:abstract class MyFrame extends Frame
C:       abstract class Frame extends MyFrame
D:class Frame abstract extends MyFrame
答案: abstract class MyFrame extends Frame

10、 接口中可以包含以下内容()

A:静态常量和抽象方法
B:静态变量和抽象方法
C:        任何变量和抽象方法
D:任何变量和任何方法
答案: 静态常量和抽象方法

11、 下面关于类的构造方法的说法中,错误的是()

A:构造方法只能有入口参数,而没有返回值
B:构造方法只能用new运算符调用
C:构造方法名必须与类名相同
D:一个类只能有一个构造方法
答案: 一个类只能有一个构造方法

12、 自定义的异常类可从( )类继承

A:AWTError
B:Exception 及其子集
C:Virtual  Machine Error‍
D:Error
答案: Exception 及其子集

13、 如果要捕获异常,应该采用的子句是()

A:throw
B:finally
C:try
D:catch
答案: catch

14、 若希望类定义中的数据成员被该类所有的对象共享,则需要用到的修饰符是()

A:static
B:protected
C:abstract
D:public
答案: static

15、 下面有关Java语言类的概念中,说法正确的是()

A:类及其属性、方法可以同时有一个以上的修饰符来修饰
B:最终类能派生子类,但最终方法不能被覆盖‍
C:final类中的属性和方法都要用final修饰符修饰‍
D:子类要调用父类的方法,必须使用super关键字
答案: 类及其属性、方法可以同时有一个以上的修饰符来修饰

16、 继承是面向对象编程的一个重要特征,它可降低程序的复杂性并使代码()

A:可读性好
B:运行更安全
C:可跨包访问
D:可重用
答案: 可重用

17、 Java语言中拥有属性和行为的实体是()

A:对象
B:构造方法
C:方法
D:类
答案: 对象

18、 Java中,隐藏信息的基本机制是()

A:多态
B:继承
C:封装
D:抽象
答案: 封装

19、 下列关于构造方法的描述中,正确的是()

A:子类必须通过this调用父类的构造方法
B:若子类没有定义构造方法,则子类无构造方法
C:子类不能调用父类的构造方法
D:子类必须通过super调用父类的构造方法
答案: 子类必须通过super调用父类的构造方法

20、 下列代码中构造方法的返回类型是()class Village  {         public static void main( String args [ ]) {               Village c =new Village ( ) ;             }             Village () {               System .out .println(“hiding in Village” public class Village {
 
           Village() {
 
               System.out.println(“hiding in Village”) ;
            }
 
           public static void main(String args [ ]) {
 
               Village c =new Village();
 }

A:integer
B:String
C:无
D:null
答案: 无

21、 对象的特性在类中被表示为变量,称为类的()

A:方法
B:数据类型
C:属性
D:对象
答案: 属性

22、 下列方法中,可以正确加入类SubX中且父类的方法不会被覆盖的是()class X {
       public int F( int a, int b ) {
            int s;
            s=a+b;
           return s;
      }
 }

 class SubX extends X{  }

A:‍public int F( int a, int b) throws MyException {  }
B:public float F(int a, int b, float b=1.0) {  }
C:‍public void F( ) {  }
D:int F(int a, int b) {  }
答案: ‍public void F( ) {  }

23、 下列可加入类child 中的方法是 public class Parent  {
 
             protected  int change ( )  {  } 
             
    }
 
   class  Child  extends  Parent  {
   }‍

A:private  int  change ( ) { }
B:abstract  int  change ( ) { }
C:public  int  change ( ) {   }
D:int  change ( )  {   }
答案: public  int  change ( ) {   }

24、 当方法遇到异常又不知如何处理时,正确的处理方式是(   )

A:嵌套异常
B:捕获异常
C:声明抛出异常
D:匹配异常
答案: 声明抛出异常

25、 如果要捕获异常,应该采用的子句是(   )

A:throw
B:finally
C:try
D:catch
答案: catch

26、 下列代码段运行输出的结果是(   )public void test() {
       String s[] = new String[10];
       
       try {
             
           s[9] =“exception”;
             
        }catch (ArrayIndexOutfBoundsException e) {
             
              System.out.println(“exception 1”);             
              
       }catch(IOException e){
             
              System.out.println(“exception 2”);
             
       }finally {
            System.out.println(“over”);
     }
 }

A: over‍
B:exception 1
C:exception 2
D:exception
答案:  over‍

27、 自定义异常类的父类可以是()

A:Thread
B:VirtuaMachineError
C:Exception
D:Error
答案: Exception

28、 运行下面程序时,会产生什么异常?(     )public class X7_1_5 {

        public static void main(String[] args) {

                  int[] z = {1,2,3,4};

                  int p = z[4];

                  int x = 0;

                  int y = p/x;

        }  

}‍

A:ArithmeticException      
B:ArrayIndexOutOfBoundsException
C:NumberFormatException
D:IOException
答案: ArrayIndexOutOfBoundsException

29、 为使下列代码正常运行,应该在下划线处填入的选项是()abstract class Person {

   
private String name;
 
   public Person (String n) {
            name = n;
     }
    public ______String get Description();
    public String getName() {
            return name;
    }
 }

A:private
B:abstract
C:final
D:static
答案: abstract

30、 下列说法正确的是(  )

A:final 可修饰类、属性、方法
B:定义抽象方法需有方法的返回类型、名称、参数列表和方法体
C:abstract可修饰类、属性、方法
D:用final修饰的变量,在程序中可对这个变量的值进行更改
答案: final 可修饰类、属性、方法

31、 下面说法不正确的是(     )

A:抽象类既可以做父类,也可以做子类‍
B:abstract和final能同时修饰一个类
C:抽象类中可以没有抽象方法,有抽象方法的类一定是抽象类或接口
D:声明为final类型的方法不能在其子类中重新定义
答案: abstract和final能同时修饰一个类

32、 有关类的说法,正确的是(   )

A:类具有封装性,所以类的数据是不能被访问的
B:类具有封装性,但可以通过类的公共接口访问类中的数据
C:声明一个类时,必须使用 public 修饰符
D:每个类中必须有 main 方法,否则程序无法运行
答案: 类具有封装性,但可以通过类的公共接口访问类中的数据

33、  试图编译和运行以下代码的结果是:class Base {
    private Base() { 
         System.out.println(0);
     }
    public Base(int i) {
         System.out.println(i);
     }
}
public class Test extends Base {
    public Test() {
         super(1);
     };
    public static void main(String argv[]){
        Test t = new Test();
    }
}

A:因为构造方法不能是private的所以不能编译
B:由于Test的父类的构造器是私有的所以Test不能编译
C:通过编译,打印出0
D:通过编译,打印出1
答案: 通过编译,打印出1

34、 给定以下代码,以下哪句是正确的?public class Test {
    private int i = f(); 
    private int j = 10;
    private int f() {
        return j;
    }
    public static void main(String args[]) { 
        System.out.println((new Test()).i); 
    }
}

A:通过编译,打印出0
B:通过编译,打印出10
C:由于在main中访问了Test的私有的变量而不能编译
D:由于成员变量定义初始化时的顺序错误而不能编译
答案: 通过编译,打印出0

35、 试图编译和运行以下代码的时候会发生什么?public class Q {
    public static void main(String argv[]){
        int anar[]=new int[5];
        System.out.println(anar[0]);
    }
}

A:null
B:0
C:5
D:错误:anar还没有初始化就用了
答案: 0

36、 给定以下代码,以下哪句是正确的?class TestBed {
    TestBed() {}
    void f() { System.out.println(“f()”); }
    public static void main(String[] args) {
        TestBed t = new TestBed();
        t.f();
    }
}
class TestDoor {
    TestDoor() {}
    void f() { System.out.println(“f()”); }
    public static void main(String[] args) {
        TestDoor t = new TestDoor();
        t.f();
    }
}

A:无法编译,因为没有任何一个类是public的
B:编译了,产生了两个.class文件
C:编译了,产生了一个.class文件,里面包含两个类
D:无法编译,因为在一个文件里有两个main函数
答案: 编译了,产生了两个.class文件

37、 有以下代码:String s1 = “Hello”;String s2 = “Hello”;String s3 = “Hellp”;s3 = s3.replace(‘p’, ‘o’);这里的s.replace(‘p’, ‘o’)的功能是把所有的’p’都替换成’o’。以下哪句是正确的?

A:s1 == s2 是 true, s1 == s3 是 false

B:s1 == s2 是 true, s1 == s3 是 true
C:s1 == s2 是 false, s1 == s3 是 false
D:s1 == s2 是 false, s1 == s3 是 true
答案: s1 == s2 是 true, s1 == s3 是 false


38、 给定以下代码,以下哪句是正确的?public class Test {
    String s;
    static class Inner {
        void testMethod() {
            s = “Hello world.”;
        }
    }
    public static void main(String[] argv) {
        Inner i = new Inner();
        i.testMethod();
        System.out.println(s);
    }
}

A:编译通过,但是运行时刻出错,因为s没有被初始化
B:无法编译,因为Test类里的String s不是static的
C:编译通过,打印出Hello world.
D:无法编译,因为Inner不能像这样在main中使用
答案: 无法编译,因为Test类里的String s不是static的

39、 给定以下代码:interface I {

    void setValue(int val);

    int getValue();
}以下哪段代码能编译?

A:‍‍‍‍‍‍interface A implements I {
    void increment();    
}
B:class A extends I {
    void increment();
}
C:abstract class C implements I {
    int value;
    public void setValue(int val) { value = val; }
    public int getValue() { return value; }
}
D:class A extends I {
    int value;
    void setValue(int val) { value = val; }
    int getValue() { return value; }
}
答案: abstract class C implements I {
    int value;
    public void setValue(int val) { value = val; }
    public int getValue() { return value; }
}

40、 在以下代码中,下列哪句可以放在//Here处?class Base{
    public Base(int i){}
}
public class MyOver extends Base{
    public static void main(String arg[]){
        MyOver m = new MyOver(10);
    }
    MyOver(int i){
        super(i);
    }
    MyOver(String s, int i){
        this(i);
        //Here
    }
}

A:super(); 
B:Base b = new Base(10);
C:MyOver m = new MyOver();
D:this(“Hello”,10);
答案: Base b = new Base(10);

41、 写出以下程序的运行结果是:public class Test {
    public int t=4;
    public static void main(String[] args) {
        new Test().NumberPlay();
    }
    public void NumberPlay() {
        int t=2;
        t = t+5;
        this.t = this.t-2;
        t = t-this.t;
        System.out.println(t+this.t+”ok”);
    }
}

A:7ok
B:2ok
C:5ok
D:52ok
答案: 7ok

42、 下列关于面向对象的论述中正确的是____。

A:面向对象是指以对象为中心,解析、设计和实现应用程序的机制
B:面向对象是指以功能为中心,解析、设计和实现应用程序的机制
C:面向对象仅适用于程序设计阶段
D:面向对象是一种程序设计语言
答案: 面向对象是指以对象为中心,解析、设计和实现应用程序的机制

43、 下面关于类的描述错误的是______。

A:类的方法都由方法头和方法体组成的
B:一个Java程序可以有多个公共类
C:一个包可以包含多个类
D:类的实现包括类声明和类体两部分
答案: 一个Java程序可以有多个公共类

44、 下列程序运行后的输出结果是_public class Foo{    public static void main(String[] args){          String s;          System.out.println(“s=” + s);     }}

A:编译错误
B:s=s
C:s=
D:s=null
答案: 编译错误

45、 在Java语言中,被称为内存分配的运算符是_

A:new
B:instance of
C:[]
D:()
答案: new

46、 下列关于构造方法的叙述中,错误的是 __。

A: Java语言规定构造方法名与类名必须相同
B:Java语言规定构造方法没有返回值,但不用void声明
C:Java语言规定构造方法不可以重载
D:Java语言规定构造方法只能通过new自动调用
答案: Java语言规定构造方法不可以重载

47、 子类继承了父类的方法和状态(属性),在子类中可以进行的操作是______。

A:更换父类方法 
B:减少父类方法
C:减少父类变量 
D:添加方法
答案: 添加方法

48、 下面的方法重载,正确的是__。

A:int fun(int a, float b) { }float fun(int a, float b) { }
B:float fun(int a, float b) { } float fun(int x, float y) { }
C:float fun(float a) { }float fun(float a, float b) { }
D:float fun1(int a, float b) { }float fun2(int a, float b) { }
答案: float fun(float a) { }float fun(float a, float b) { }

49、 阅读下列代码:public class Test{ String s=” No Pain No Gain “; public static void main(String args[] ){ System.out.println(s); }}其运行结果是______。

A:args
B:No Pain No Gain
C:s
D:编译时出错
答案: 编译时出错

50、 阅读下列代码段:abstract class Person{ private String name; public Person( String n) { name=n; } public __String getDescription(); public String getName(){ return name ; } }在下划线处应填入的修饰符是____。

A:static
B:abstract
C:protected
D:final
答案: abstract

51、 下列关键字中可以表示常量的是__。

A:final
B:default
C:private
D:transient
答案: final

52、 下列概念中不包括任何实现,与存储空间没有任何关系的是______。

A:类
B:接口
C:抽象类
D:对象
答案: 接口

53、  阅读下列代码片段:class InterestTest __ActionListener{……public void actionPerformed( ActionEvent event) {double interest = balance * rate/ 100;balance+ = interest;NumberFormat format= NumberFormat. getCurrencyInstance();System. out. printlb( “balance = “+Formatter. format ( balance));}private doublerate;}在下划线处应填入的正确选项是____。

A: implementation
B: inheritance 
C:implements
D:implement
答案: implements

54、 下列方法中,不属于 Throwable类的方法是______。

A:printMessage
B:getMessage 
C:toString
D:fillInStackTrace
答案: printMessage

55、 如果要抛出异常,应该采用的字句是__。

A:finally
B:try
C:throw
D:catch
答案: throw

56、 阅读下列代码:import java.io. *;public class ExceptionCatch{        public static void main( String args[]){                 try{                        FileInputStream fis=new FileInputStream(“text”);                        System. out. println( “content of text is A:”);                } catch( FileNotFoundException e){                        System. oul. println(e);                        System. out. println(“message:”+e. getMessage());                        e. printStackTrace(System, out);                   }__{                        System. out. println(e);                }        }}为了保证程序正确运行,程序中下画线处的语句应该是______。

A:default
B:e. printStackTrace()
C:catch(IOException e)
D:finally
答案: catch(IOException e)

57、 下列代码中的内部类名是______。   import java.awt.event.;import javax.swing.;class Talkingclock{       public void start(int interval, final boolean beep){              ActionListener listener=new  ActionListener(){                     public void actionPerformed (ActionEvent event) {                            ……                     }              }              Timer t=new Timer(interval, listener);              t. start();       }}  

A:Timer
B:ActionListener
C: listener
D:匿名
答案: 匿名

58、 在子类中能覆盖父类方法public abstract void getSort(int x)的是_

A:public double getSort (int x, int y){return x+y;}
B:public int getSort(double y){return (int ) (yy);}
C:public void getSort(float x) {x
=x;}
D:public void getSort(int x) {x=x;} 
答案: public void getSort(int x) {x
=x;} 

59、 abstract不能和final并列修饰同一个类。

A:正确
B:错误
答案: 正确

60、 类和对象的关系,是抽象和具体的关系。

A:正确
B:错误
答案: 正确

61、 一个子类可以继承父类中所有的成员变量和成员方法。

A:正确
B:错误
答案: 错误

62、 在Java语言中,用final修饰的类也可以被继承。

A:正确
B:错误
答案: 错误

63、 类中定义的静态变量只能通过类名引用。

A:正确
B:错误
答案: 错误

64、 在方法内部使用,代表对当前对象自身引用的关键字是this。

A:正确
B:错误
答案: 正确

65、 内部类可以作为其他类的成员,而且可访问它所在的类的成员。

A:正确
B:错误
答案: 正确

66、 在Java中,一个类可以继承多个父类。

A:正确
B:错误
答案: 错误

67、 Java中,接口和类都不允许多重继承。

A:正确
B:错误
答案: 错误

68、 Java接口中可以声明私有成员。

A:正确
B:错误
答案: 错误

69、 抽象类中可以有构造方法,所以抽象类也可以创建实例对象。

A:正确
B:错误
答案: 错误

70、 父类的私有方法不能被子类覆盖。

A:正确
B:错误
答案: 正确

71、 Java 程序中所有类的根类是Object。‍

A:正确
B:错误
答案: 正确

72、 Java程序默认引用的包是java.awt包。

A:正确
B:错误
答案: 错误

73、 Java程序中若包含package语句,则该语句必须是程序的第一条可执行语句。

A:正确
B:错误
答案: 正确

74、 Java接口中所有的方法都是抽象的。

A:正确
B:错误
答案: 正确

75、 内部类不能有自己的成员方法和成员变量。

A:正确
B:错误
答案: 错误

76、 接口的本质就是完全抽象的类

A:正确
B:错误
答案: 正确

77、 在Java中,一个子类只能继承一个父类。

A:正确
B:错误
答案: 正确

78、 用于在子类中调用被重写父类方法的关键字是Super。

A:正确
B:错误
答案: 错误

79、 因为子类继承自父类,所以父类包含子类,而且父类能替代子类。

A:正确
B:错误
答案: 错误

80、 包是一种特殊的类,用于对类进行分门别类的管理。

A:正确
B:错误
答案: 错误

81、 Java源程序结构中前三种语句的次序是package , import, public class。

A:正确
B:错误
答案: 正确

82、 在Java中,若要使用一个包中的类时,首先要求对该包进行导入,其关键字是include。

A:正确
B:错误
答案: 错误

83、 定义一个类,要求其中的成员变量可以被该类的所有子类访问,但不能被与该类不在同一个包中的非子类访问。为了实现上述目的,该成员变量应被赋以protected访问权限。

A:正确
B:错误
答案: 正确

84、 一个类只允许继承一个接口  。 

A:正确
B:错误
答案: 错误

85、 内部类的名称与定义它的类的名称可以相同。

A:正确
B:错误
答案: 错误

作业第3章 Java面向对象编程(3:13:28,施珺) 第3章 单元作业

1、 程序填空题:定义一个抽象类Person,其中有一个公共的抽象方法showInfo()。然后定义此抽象类的一个子类Student,包括的成员变量有姓名、学号、班级和年龄,且此类中包括两个构造方法。在下列代码中的数字标示行填入合适的一行代码。abstract class Person{
     (1)
}

     (2)
{
   String stuName;
   String stuID;
   String stuClass;
   int age;
   //接收姓名和学号两个参数的构造方法
    (3)
//接收四个参数的构造方法
    (4)   
   //实现抽象方法,方法体为打印出学生的姓名、学号、班级
    (5)
   
}提示:可以自行编写一个测试类,用测试数据创建Teacher对象,验证所填代码是否可以正常运行。
评分规则:  共5个空,每空2分。如果能将方法体都写出来也可以。参考答案: (1)  public abstract void showInfo();  (2) class  Student extends  Person(3)Student( String nname,String nid) {  }(4)Student( String nname,String nid, String ntitle,int nage) {  }(5) public void showInfo()  {  System.out.println(“学生的姓名:”+stuName+” 学号:”+stuID+” 班级:”+stuClass);  }注意:(3)、(4)两行中,构造方法所带形参名称可以与参考答案不同,但类型和个数必须一致。 (5)中,输出的内容提示不一定与参考答案完全一致,包含了属性名称stuNam和stuID、stuClass即可。下面示例程序中,其余代码可以不一定相同,不扣分。此题可运行的完整程序参考如下:Java面向对象程序设计(江苏海洋大学) 中国大学mooc答案满分完整版章节测试第5张

2、 参考本章例题,编程实现下图中的任一图形(为简化起见:内外图形中心重合、且上下左右对称)。要求:1。设计所选定的图形类(可以继承于矩形类或圆形类), 对任意给定的可以构成所选图形的边长和半径,计算其有色部分的面积和周长;2.  如果给定的内部半径或正方形边长超过外围图形允许的最大值(假设内部图形距外边框最窄处不得少于10),则要进行异常处理:提示内部图形尺寸过大。3.   当给定的边长、半径符合要求时,选择某种颜色绘制出来(提示:可以在Applet中绘制)。Java面向对象程序设计(江苏海洋大学) 中国大学mooc答案满分完整版章节测试第6张
评分规则:  图形类代码编译无错误,能正常运行;(8分)计算的周长、面积正确、输出结果清晰;(2分)有异常处理措施,且效果达到了题意要求;(2分)能正确绘制出图形;(4分)类、属性和方法命名规范、词能达意,有必要的注释,说明所编写的是哪个图形;(2分)体现了继承和多态的机制。(2分)参考代码如下:Java面向对象程序设计(江苏海洋大学) 中国大学mooc答案满分完整版章节测试第7张Java面向对象程序设计(江苏海洋大学) 中国大学mooc答案满分完整版章节测试第8张

3、 定义一个抽象的商品类,其中包含3个数据成员:商品号、商品名、商品价格,定义三个分别用来获取商品名、获取价格、修改价格的成员方法,一个抽象的输出数据成员的方法showInfo(),构造方法自行定义。请注意用适当的访问控制符和非访问控制符对属性和方法进行修饰。在此基础上,定义继承于商品类的一个食品子类和一个玩具子类,除具有商品类的属性之外,食品类还应该包含生产日期、保质期、主要成分等信息,并定义一个设置保质期的方法;玩具类还应该包含型号、材料、安全级别等信息,并定义一个设置安全级别的方法;食品子类和玩具子类均需要实现其父类中的showInfo()方法,以输出类的完整信息。构造方法自行定义。此外,要求编写一个测试程序,用恰当的测试数据创建食品类和玩具类对象,并调用有关方法,检验其运行结果是否正常。
评分规则:  分步给分下图所给程序为参考答案,属性名称、数据类型、方法名称、输出方式不一定完全一致,可以正常运行即可。:1)商品类的定义:4分其中:类头+属性的定义 1分,构造方法的定义1分,每个成员方法、抽象方法各0.5分Java面向对象程序设计(江苏海洋大学) 中国大学mooc答案满分完整版章节测试第9张2)食品子类的定义:4分其中:类头+属性的定义 1分,构造方法的定义1.5分,成员方法的定义0.5分,实现父类的抽象方法1分Java面向对象程序设计(江苏海洋大学) 中国大学mooc答案满分完整版章节测试第10张3)玩具子类的定义:4分其中:类头+属性的定义 1分,构造方法的定义1.5分,成员方法的定义0.5分,实现父类的抽象方法1分Java面向对象程序设计(江苏海洋大学) 中国大学mooc答案满分完整版章节测试第11张4)测试类的定义:5分 其中:测试类头、main()方法各0.5分,食品类与玩具类的对象创建各1分,成员方法的调用与对象信息的输出各1分。Java面向对象程序设计(江苏海洋大学) 中国大学mooc答案满分完整版章节测试第12张

4、 程序填空题:定义一个抽象类Person,其中有一个公共的抽象方法showInfo()。然后定义此抽象类的一个子类Student,包括的成员变量有姓名、学号、班级和年龄,且此类中包括两个构造方法。在下列代码中的数字标示行填入合适的一行代码。abstract class Person{
     (1)
}

     (2)
{
   String stuName;
   String stuID;
   String stuClass;
   int age;
   //接收姓名和学号两个参数的构造方法
    (3)
//接收四个参数的构造方法
    (4)   
   //实现抽象方法,方法体为打印出学生的姓名、学号、班级
    (5)
   
}提示:可以自行编写一个测试类,用测试数据创建Student对象,验证所填代码是否可以正常运行。
评分规则:  共5个空,每空2分。如果能将方法体都写出来也可以。参考答案: (1)  public abstract void showInfo();  (2) class  Student extends  Person(3)Student( String nname,String nid) {  }(4)Student( String nname,String nid, String ntitle,int nage) {  }(5) public void showInfo()  {  System.out.println(“学生的姓名:”+stuName+” 学号:”+stuID+” 班级:”+stuClass);  }注意:(3)、(4)两行中,构造方法所带形参名称可以与参考答案不同,但类型和个数必须一致。 (5)中,输出的内容提示不一定与参考答案完全一致,包含了属性名称stuNam和stuID、stuClass即可。下面示例程序中,其余代码可以不一定相同,不扣分。此题可运行的完整程序参考如下:Java面向对象程序设计(江苏海洋大学) 中国大学mooc答案满分完整版章节测试第5张

作业第4章 Java图形用户界面设计(3:33:29,赵雪峰) 第4章 单元作业

1、 编写Java GUI程序,实现一个简单计算器。要求如下:(1)设计的界面如下图所示:窗体的标题栏显示“模拟计算器—江海大”,1个文本框用于显示输入字符和计算结果;20个按钮控件作为字符输入按键或者功能按键。Java面向对象程序设计(江苏海洋大学) 中国大学mooc答案满分完整版章节测试第14张                                     程序的外观Java面向对象程序设计(江苏海洋大学) 中国大学mooc答案满分完整版章节测试第15张                                    对64开平方根的运行结果(2)计算功能:实现加、减、乘、除等双目运算,开平方、百分数等单目运算;(3)辅助功能:按钮“C”清空文本框;按钮“←”退格,删除文本框中最右边的一个字符。提示:(1)GUI外观设计:创建“面板对象”,并设置其布局管理方式为5行X4列的GridLayout,用于容纳20个按钮。文本框布局到窗体的“BorderLayout.NORTH”,面板对象 布局到窗体的“BorderLayout.CENTER”。(2)设置20个按钮的文本:声明并创建String型数组,存放20个按钮上的文本内容。声明并创建JButton型(或者Button型)数组,结合for循环为20个按钮添加文本。private String name[] = {“C”,”÷”, “×”, “←”,”7″, “8”, “9”, “-“, “4”, “5”, “6”, “+”, “1”, “2”, “3”, “√”, “%”, “0”, “.”, “=”};
//声明一个按钮数组,该数组的长度以字符串数组的长度为准
private JButton button[] = new JButton[name.length];
        for(int i=0; i<button.length; i++){
        button[i] = new JButton(name[i]);
……
}(3)计算功能的实现:注意双目运算符和单目运算符的不同处理。双目运算符,定义变量保存第一个操作数的值,以及双目运算后的值,通过点击“=”后将运算结果显示到文本框中。单目运算符,输入数值后,点击运算符直接在文本框中显示运算结果。开平方根的功能通过调用Math类的sqrt()方法实现。(4)按钮“C”清空文本框的实现:调用文本框对象的成员方法setText(“”)。(5)按钮“←”退格的实现:首先获取文本框中的字符串,然后调用成员方法substring()得到除掉最后一个字符剩下的子串,最后将该字符串设置为文本框对象的内容。参考代码如下(假设文本框对象的对象名为txtResult):    String text=txtResult.getText();
    if(text.length()>1){
        text=text.substring(0,text.length()-1);
        txtResult.setText(text);
    }
    else{
        txtResult.setText(“”);
   }(6)采用类似提示(2)中为按钮设置文本的途径,为按钮添加事件监听器。
评分规则:  1、按照规范命名各种标识符:类名、成员变量名、成员方法名,以及局部变量名(1分);2、使用import语句导入正确的包(1分)3、源程序规范缩进(1分)4、对源程序适当添加注释(1分)
针对图形外观的实现情况评分:(1)正确设置窗体的标题栏内容(1分)(2)正确设置文本框,并布局到窗体的顶部(1分)(3)正确设置20个按键,并添加到窗体(3分)
针对功能的实现情况评分:(1)实现ActionListener接口(implements ActionListener),以及实现了actionPerformed()方法(2分)。(2)能结合使用分支语句和e.getActionCommand()或者e.getSource()判断按钮对象,其中假设e为ActionEvent的对象(2分)。(3)程序运行结果正确(2分)

2、 程序填空题:完善程序,实现包括一个复选框的窗体。点选复选框,通过相应的事件处理后,能够在控制台显示复选框的选择信息。要求:在数字标示和注释符(//)的前面,填入合适代码;并且不要删除数字标示和注释符://(数字)。Java面向对象程序设计(江苏海洋大学) 中国大学mooc答案满分完整版章节测试第16张Java面向对象程序设计(江苏海洋大学) 中国大学mooc答案满分完整版章节测试第17张                                      运行效果图:当复选框被选中时Java面向对象程序设计(江苏海洋大学) 中国大学mooc答案满分完整版章节测试第18张Java面向对象程序设计(江苏海洋大学) 中国大学mooc答案满分完整版章节测试第19张                                       运行效果图:当复选框被取消选中状态时import java.awt.;
import java.awt.event.
;

/—在(1)处进行类声明:类名为MyCheck,继承自Frame类—/

 //(1)

{
  public MyCheck(){
 super(“GUI程序设计实验”);
 /—在(2)处创建面板对象,并设置其布局管理方式为FlowLayout—/
     //(2)
     Checkbox cbx = new Checkbox(“isPassed”);
/—在(3)处完成两个功能:向面板中加入组件cbx,为组件cbx注册监听器。此处填写两行语句—/
     
    //(3)
     add(p);

    /—在(4)处设置窗体的属性:设置大小为(250,100),设置为可见。此处填写两行语句—/
      
     //(4)
  }

  public static void main(String[] args){
    new MyCheck();
  }
  
  /—在(5)处声明内部类的类头:类名自定义—/
 //(5)
  {
    public void itemStateChanged(ItemEvent e){
      System.out.println(e);
    }
  }
}
评分规则:  在(1)处进行类声明:类声明的关键字是class,继承的关键字是extends。参考答案: public class MyCheck extends Frame//(1)
在(2)处创建面板对象,使用类名Panel定义引用变量,变量名根据上下文确定。由于Panel的默认布局为Flowlayout,所以无须改变,若使用setLayout(new FlowLayout())设置其布局管理方式为FlowLayout,也给分。参考答案:Panel p=new Panel();
在(3)处向面板中加入组件cbx,调用Panel对象的add()方法;为组件cbx注册监听器,调用addItemListener()方法,该方法的参数为ItemListener实现类的对象,要保证实现类的类名与(5)处的类名相同。参考答案: cbx.addItemListener(new ABC());                 p.add(cbx);//(3)
在(4)处设置窗体的大小为(250,100),可调用窗体对象的方法setSize() 、setBounds()、pack()等,其中setBounds()方法有四个参数,包括设置窗体的显示位置。设置可见性,可调用setVisible()、show()方法,但是后者已经被淘汰了。—*/参考答案:setSize(250,100);                 setVisible(true);//(4)
在(5)处声明内部类的类头,与定义外嵌类的类头一样,使用关键字class;因为该内部类的功能是实现ItemListener,所以必须使用implements关键字。注意,虽然类名可自定义,但是应该和(3)中的一致。参考答案:class ABC implements ItemListener      //(5)

第4章 Java图形用户界面设计(3:33:29,赵雪峰) 第4章 单元测验

1、 (事件处理)下列适配器类中,不属于事件适配器类的是______。

答案: FrameAdapter 

2、 (对话框)JOptionPane类中的参数optionType的作用是______。  

答案: 定义在对话框底部显示的选项按钮集合 

3、 (GUI)关于Swing特性的说法中,错误的是______。

答案: Swing组件的外观与具体平台相关 

4、 (事件处理)文本字段或文本区域发生改变时所产生的事件是______。

答案: TextEvent 

5、 (GUI容器)下列关于Swing布局管理器的描述中,错误的是(     )。

答案: Swing不可以把组件直接加到容器中。

6、 (GUI组件)下列关于JComponent类的描述中错误的是______。

答案: JComponent类是所有Swing组件的父类。

7、 (对话框)要得到如图所示的对话框,应使用的语句是_Java面向对象程序设计(江苏海洋大学) 中国大学mooc答案满分完整版章节测试第20张

答案: JOptionPane.showConfirmDialog(null,”今天有雨吗”,”请确认”,JOptionPane.DEFAULT_OPTION);

8、 (对话框)下列选项中,具有颜色编辑功能的组件是______。

答案: JColorChooser

9、 (布局管理器)下列选项中默认布局管理器不是BorderLayout的是______。

答案: Panel

10、 (GUI组件)用于设置组件大小的方法是______。

答案: setSize()

11、 (GUI)Swing组件的事件类所在的包是______。

答案: javax.swing.event

12、 (GUI容器)派生出大多数Swing组件的类是______。

答案: Container

13、 (GUI)在下列Java语言的包中,提供图形界面构件的包是______。

答案: javax.swing

14、 (事件处理)鼠标在窗口中移动时,捕捉该事件的接口是______。

答案: MouseMotionListener

15、 (GUI组件)下列选项中,错误的是______。

答案: JButton是Swing中的按钮组件,按钮上只能有文字

16、 (事件处理)组件得到或失去焦点时所产生的事件是______。

答案: FocusEvent

17、 (事件处理)当鼠标进入应用程序的窗口时,所调用的鼠标事件的方法是______。

答案: public void mouseEntered( MouseEvent )

18、 (布局管理器)下列关于Swing布局管理器的描述中,错误的是_____。

答案: Swing可以把组件直接加到顶层容器中

19、 (布局管理器)当容器大小发生变化时,使容器中组件的大小不发生改变的布局管理器是_

答案: FlowLayout

20、 (事件处理)当按钮被按下时,应执行的方法是_

答案: void actionPerformed(ActionEvent e)

21、 (对话框)JOptionPane 类中参数optionType 的值不可能是_

答案: WARNING_OPTION

22、 (布局管理器)JFrame的缺省布局管理器是_

答案: BorderLayout

23、 (GUI容器)下列用于设置窗口标题的方法是_

答案: setTitle ( )

24、 (事件处理)对鼠标点击按钮操作进行事件处理的接口是_

答案: MouseListener

25、 (事件处理)文件字段或文本区域发生改变时所产生的事件是__。

答案: TextEvent

26、 (GUI组件)与AWT相比,Swing的按钮JButton___。

答案: 可以同时显示文字和图标

27、 (对话框)用于选择文件名字的Swing组件是_

答案: JFileChooser

28、 (事件处理)当窗口被激活时,调用的窗口事件的方法是______。

答案: Public void windowActivated ( WindowEvent )

29、 (事件处理)当键盘被按下时,将调用的键盘事件接口方法是_

答案: void keyPressed(KeyEvent)

30、 (事件处理)下列选项中不能实现事件响应的方式是__。

答案: 通过自定义函数

31、 (自定义图形)AWT中用来表示颜色的类是( )

答案: Color

32、 (布局管理器)下列不是AWT的布局管理器是_

答案: BoxLayout

33、 (事件处理)下列不属于接口WindowListener方法的是_

答案: windowMinimized( )

34、 (事件处理)下列为窗口事件的是_

答案: WindowsEvent

35、 (事件处理)用鼠标点击菜单项(MenuItem)产生的事件是_

答案: ActionEvent

36、 (事件处理)在下列事件监听器中,无法对TextField对象进行事件监听和处理的是_

答案: ChangeListener

37、 (对话框)AWT中用来表示对话框的类是()

答案: Dialog

38、 (GUI组件)下列不属于Swing构件的是_

答案: Panel

39、 (对话框)下列包中,包含JOptionPane类的是_

答案: javax.swing

40、 (GUI组件)下列不属于Swing的构件是_

答案: JPane

41、 (GUI组件)下列叙述中,错误的是_

答案: Button类和标签类可显示图标和文本

42、 (GUI容器)Swing的选项面板是_

答案: JTabbedPane

43、 (布局管理器)Swing与AWT相比新增的布局管理器是_

答案: BoxLayout

44、 (事件处理)在下列方法中,不属于WindowListener接口的是_

答案: mouseDragged( )

45、 (GUI)在Java中,实现用户界面功能的包是_

答案: java.awt

46、 (GUI容器)容器类java.awt.container的父类是_

答案: java.awt.Component

47、 (布局管理器)Panel和Applet的默认布局管理器是_

答案: FlowLayout

48、 (GUI容器)Swing构件必须添加到Swing顶层容器所相关的_

答案: 内容面板上

49、 (GUI组件)自定义表格类中的model部分所应实现的接口是_

答案: TableModel

50、 (布局管理器)类Panel默认的布局管理器是_

答案: FlowLayout



上方为免费预览版答案,如需购买完整答案,请点击下方红字

点击这里,购买完整版答案


 

点关注,不迷路,微信扫一扫下方二维码

关注我们的公众号:阿布查查  随时查看答案,网课轻松过

Java面向对象程序设计(江苏海洋大学) 中国大学mooc答案满分完整版章节测试第21张


为了方便下次阅读,建议在浏览器添加书签收藏本网页

电脑浏览器添加/查看书签方法

1.按键盘的ctrl键+D键,收藏本页面

Java面向对象程序设计(江苏海洋大学) 中国大学mooc答案满分完整版章节测试第22张

2.下次如何查看收藏的网页?

点击浏览器右上角-【工具】或者【收藏夹】查看收藏的网页

Java面向对象程序设计(江苏海洋大学) 中国大学mooc答案满分完整版章节测试第23张


手机浏览器添加/查看书签方法

一、百度APP添加/查看书签方法

1.点击底部五角星收藏本网页

Java面向对象程序设计(江苏海洋大学) 中国大学mooc答案满分完整版章节测试第24张

2.下次如何查看收藏的网页?

点击右上角【┇】-再点击【收藏中心】查看

Java面向对象程序设计(江苏海洋大学) 中国大学mooc答案满分完整版章节测试第25张

二、其他手机浏览器添加/查看书签方法

1.点击【设置】-【添加书签】收藏本网页

Java面向对象程序设计(江苏海洋大学) 中国大学mooc答案满分完整版章节测试第26张

2.下次如何查看收藏的网页?

点击【设置】-【书签/历史】查看收藏的网页

Java面向对象程序设计(江苏海洋大学) 中国大学mooc答案满分完整版章节测试第27张

捷忻隆赐等歼莱帝解谓董赴懂