重庆大学网院2018年Java程序设计 ( 第3次 )答案
第3次作业一、程序阅读题(本大题共40分,共 10 小题,每小题 4 分)
1. public class test
{
static StringBuffer sb1=new StringBuffer("Hello");
static StringBuffer sb2=new StringBuffer("Hello");
public static void main(String args[])
{
aMethod(sb1,sb2);
System.out.println("sb1 is "+sb1);
System.out.println("sb2 is "+sb2);
}
public static void aMethod(StringBuffer sb1,StringBuffer sb2)
{
sb2.append(" there");
sb1=sb2;
}
}
2. public class test{
static int arr[] ={1,2,3,4,5};
public static void main(String args[])
{
System.out.println(arr[]);
}
}
3. public class Test
{
public static void main(String[] args)
{
String foo=args;
String bar=args;
String baz=args;
System.out.println(baz);
}
}
如果执行语句 java Test Red Green Blue 后结果为
4. 阅读以下程序:
若执行命令:java AB heLLO,则输出为 ______ 。
5. 请写下程序的输出结果:
6. import java.io.*;
public class Ppvg{
public static void main(String argv[]){
Ppvg p = new Ppvg( );
p.fliton( );
}
public int fliton( ){
try{
FileInputStream din = new FileInputStream("P.java");
din.read( );
}catch(IOException ioe){
System.out.println("flytwick");
return 99;
}
finally{
System.out.println("fliton");
}
return -1;
}
}
如果P.java文件不存在,输出结果是什么?
7. 指出下列程序运行的结果
public class BreakTest
{
public static void main(String args[] )
{
int count; for ( count = 1; count <= 10; count++ )
{
if ( count == 8 ) break;
System.out.println( count );
}
}
}
8. public class Leaf
{
private int i=0;
Leaf increment( )
{
i++;
return this;
}
void print( )
{
System.out.println(“i=”+i);
}
public static void main(String args[])
{
Leaf x=new Leaf( );
x.increment( ).increment( ).increment( ).print( );
}
}
9. 写出程序运行的结果.
class Parent
{
void printMe( )
{
System.out.println(“I’m parent”);
}
}
class Child extends Parent
{
void printMe( )
{
System.out.println(“I’m child”);
}
void printAll( )
{
super.printMe( );
this.printMe( );
printMe( );
}
}
public class Test_this
{
public static void main(String args[])
{
Child myc=new Child( );
myprintAll( );
}
}
10. public class Sum{
public static void main( String args[ ]) {
int sum = 0 ;
for ( int i = 1 ; i <= 5 ; i + + ) sum +=2+i ;
System.out.println( "sum="+sum );
}
}
二、简答题(本大题共20分,共 4 小题,每小题 5 分)
1. 说明修饰符private,public,protected,缺省的作用范围差异.
2. 什么是对象的串行化?
3. 构造线程的两种方式有什么不同?
4. 下列程序实现的功能是什么?
import javio.* ;
public class Reverse
{
public static void main(String args[ ])
{
int i , n =10 ; int a[ ] = new int;
for ( i = 0 ; i < n ; i ++ ) try
{
BufferedReader br = new BufferedReader( new InputStreamReader(System.in));
a = Integer.parseInt(br.readLine( ));
}
catch ( IOException e )
{
} ;
for ( i = n-1 ; i >= 0 ; i ―― ) System.out.print(a+" ");
System.out.println( );
}
}
三、程序设计题(本大题共40分,共 5 小题,每小题 8 分)
1. 编写程序输出如下所示图形
2. 编写程序利用String中的已有函数将字符串abcABC123中的大写转换为小写,小写转换为大写.
3. 编写应用程序,将1~100之间的所有可以被3整除,但不能被6整除的数打印出来.
4. 编写程序在终端打印1~100之间的素数。
5. 编写一个程序,根据下列类设计一数组,使得数组中每个成员均为类成员,并输出其中数组成员的值.
class T
{
int x, y;
T( )
{
x = 0; y = 0;
}
T(int i, int j)
{
x = i;
y = j;
}
void setT(int i, int j)
{
x = i;
y = j;
}
}
答案:
一、程序阅读题(40分,共 10 题,每小题 4 分)
1.
参考答案:
sb1 is Hello sb2 is Hello there
解题方案:
评分标准:
完全一样才得分
2.
参考答案:
编译出错,因为数组不能整体输出.
解题方案:
评分标准:
意思对就给6分
3.
参考答案:
Blue
解题方案:
评分标准:
完全一样才得分
4.
参考答案:
HEllo
解题方案:
评分标准:
5.
参考答案:
解题方案:
评分标准:
6.
参考答案:
flytwick fliton
解题方案:
评分标准:
完全一样才得分,多写不得分
7.
参考答案:
1 2 3 4 5 6 7
解题方案:
评分标准:
完全一样才得分,多写不得分
8.
参考答案:
i=3
解题方案:
评分标准:
完全一样才得分,多写不得分
9.
参考答案:
I’m parent I’m child I’m child
解题方案:
评分标准:
完全一样才得分,多写不得分
10.
参考答案:
25
解题方案:
评分标准:
完全一样才得分,多写不得分
二、简答题(20分,共 4 题,每小题 5 分)
1.
参考答案:
public 如果public用于修饰一个类名,如public?class?A{},则表示该类可以被所有的其它类访问和引用,
即:其它类可以创建该类的实例,访问该类的所有可见成员变量,调用所有可见方法.
如果类成员(数据和方法)用public修饰,表示该类的成员不仅可以被其内部成员访问,而且可以被其它类直接访问,也就是说,外界可直接存取公有数据和公有方法. private ——私有的
用private修饰的类成员(数据和方法)只能被类自身访问或修改,任何其它类(包括该类的子类)都无权获取和引用.
应该将不希望他人随意引用或修改的数据和方法设置为private,这将使得私有成员对其它用户不可见,只有通过声明为public的方法才可以对这些数据进行访问,从而达到信息隐藏和封装的目的. Protected ——被保护的
类成员(数据和方法)前加上关键字protected,说明这个成员是被保护成员,除了可以被类本身访问外,它还可以被该类的子类,与该类在同一个包中的其它类访问.
包实际上是一组相关的类与接口的集合,有些类似于C语言中的函数库的概念.
Java将一些功能相似或具有某种相关性的类放在同一个包中,便于管理和存取.每个包对应于磁盘中的一个目录 缺省的 如果类成员前没有关键字public,protected,private中的任何一个修饰符,那么我们就称它使用了缺省的修饰符.
这时,只有该类本身以及与该类在同一个包中的其它类才可以直接访问这些缺省成员.我们又将其称为具有包访问性.
解题方案:
评分标准:
答对意思,一个1分
2.
参考答案:
对象的寿命通常随着生成该对象的程序的终止而终止.有时候,需要将对象的状态保存下来,在需要时,再将对象恢复. 对象通过写出描述自己状态的数值来记录自己,这个过程叫作对象的串行化(Serializa tion).
解题方案:
评分标准:
意思对就给分
3.
参考答案:
第一种方式:直接继承Thread类,不能再从其它类继承,编写简单,可以直接操纵线程,无需使用Thread.currentThread( ). 第二种方式:使用Runnable接口,可以将CPU,代码和数据分开,形成清晰的模型; 还可以从其他类继承;灵活性高,保持程序风格的一致性.
解题方案:
评分标准:
意思对就给分
4.
参考答案:
将一个从键盘输入的数字串逆序输出
解题方案:
评分标准:
意思对就给分
三、程序设计题(40分,共 5 题,每小题 8 分)
1.
参考答案:
解题方案:
评分标准:
结构3分,功能实现4分,语法3分
2.
参考答案:
解题方案:
评分标准:
结构3分,功能实现4分,语法3分
3.
参考答案:
解题方案:
评分标准:
结构3分,功能实现4分,语法3分.
4.
参考答案:
解题方案:
评分标准:
5.
参考答案:
public class ObjectArray
{
public static void main(String[] args)
{
// 创建类 T 对象数组 t1, 有两个对象元素 T[] t1 = new T;
t1 = new T( );
t1 = new T(33, 44);
System.out.println(t1.x + ", " + t1.y);
System.out.println(t1.x + ", " + t1.y);
System.out.println(t1.x + ", " + t1.y);
System.out.println(t1.x + ", " + t1.y);
}
解题方案:
评分标准:
结构3分,功能实现4分,语法3分.
页:
[1]