C.接口中所有的变量都默认为public abstract属性 D.接口体中不提供方法的实现
1201-13.接口有与类相似的基本形式,它有常量定义和方法定义,但没有 方法的实现代码 。
3.4 基本类
3.5 Java小应用程序基础
标识:小应用程序与Applet类的关系, 小应用程序结构和执行过程
简单应用: Applet类的init()、strart()、stop()、destroy()、paint()、repaint()等方法。 11.一个小应用程序必须定义成一个_________。Applet(JApplet)类的子类
1010-22.请写出Applet类中init()方法的功能 创建所需要的对象,设置初始状态,装载图像,设计对数等
22.为了系统安全,对JavaApplet小应用程序有什么限制?
30.某小应用程序实现幻灯片放映。小应用程序的init()方法将幻灯片读入数组中存储和注册鼠标监视器。程序运行时,单击鼠标,就顺序变换放映幻灯片的序号。这里给出的是其中的paint()方法和mousePressed()方法。
final int number=30;//假定幻灯片有30张 int count=0; paint()方法需要Graphics类型参数,当单Image[]pic=new Image[number];
击鼠标时,要在paint()方法中再次显示图public void paint(______gc){
片,可以调用repaint()方法,使程序先清if((pic[count])!=null)
gc.drawImage(pic[count],10,10,pic[count].getWidth(this), 除paint()运行的结果,再运行paint();也pic[count].getHeight(this),this); 可以调用update()方法,该方法会使系统}
自动调用repaint()方法。 public void mousePressed(MouseEvent e){
count=(count+1)% number;//循环逐张显示
__________; }
32.阅读下列程序,请写出该程序的输出结果。 import java.applet.*;import java.awt.*; class Point{ int x,y;
Point(int xx,int yy){ x=xx;y=yy;} Point(Point p){x=p.x;y=p.y; }
void m(int dx,int dy){x+=dx;y+=dy;} }
class Circle extends Point{ int r;
Circle(Point p, int rr){ super(p); r=rr; } float c(){ return 3.14f*2.0f*r; } float a(){ return 3.14f*r*r;} }
public class sample extends Applet{ Circle yuan; Point d;
public void init() {d=new Point(2,5);yuan=new Circle(d,10);}
参考答案:yuan Circle 62.8(2分) yuan Area 314.0(2分)
public void paint(Graphics g){
g.drawString("yuan Circle"+(int)(yuan.c()*100.0)/100.0,5,20); g.drawString("yuan Area"+(int)(yuan.a()*100.0)/100.0,5,40); } }
第4章 数组和字符串
简单应用:非平衡的多维数组的创建,StringTokenizer类的用法,字符串与字节数组之间的转换,对象的字符串表示
综合应用:一维数组、二维数组、字符串的声明和创建,字符串的常用处理方法,字符串与基本数据类型之间的转换
4.1 数组
1210-14. 数组名如同对象名一样,是一种__________。 23.请写出声明int类型的二维数组intArr的三种形式。 Int intArr[][] Int [][]intArr Int []intArr []
1110-14.数组每个元素按存储顺序对应一个下标,下标从 ___0____ 开始顺序编号 4.在下述Java语言语句中,错误的创建数组的方法是 ( D ) ..A.int intArray [ ]; intArray=new int[5]; B.int intArray [ ]=new int[5]; C.int [ ] intArray ={1,2,3,4,5}; D.int intArray [5]={1,2,3,4.5};
1404-4.以下Java程序代码中,能正确创建数组的是
A.int myArray[]; myArray[]=new int[5]; B.int myArray[]=new my(5); C.int[]myArray={1,2,3,4,5};
D.int myArray[5]={1,2,3,4,5};
1201-23.请写出定义一个包含2个子数组的二维整型数组对象aArr的代码,其中第一个子数组有5个元素,第二个子数组有3个元素。 int aArr[][]=new int[2][]; aArr[0]=new int[5]; aArr[1]=new int[3];
14.设有数组a和b的定义如下: int[]a={1,2,3};int[]b={4,5,6} ??
执行以下代码“a=b;”,除了完成赋值操作之外,引起系统额外要做的工作是_________。(P45)回收内存(引用类型)
0901-33.阅读下列程序,请写出调用pascal(4)的输出结果。 static void pascal(int n) {
int pas[]; pas = new int[n]; pas[0] = 1;
System.out.println(pas[0]); for (int i = 2; i <= n; i++) {
/* 由存储在pas中的原来内容生成新内容*/ pas[i - l] =1;
for (int j = i- 2;j > 0; j--) pas[j] = pas[j] + pas[j - 1 ]; for (int j = 0; j < i; j++)
System.out.print(pas[j] +\ \ System.out.println(); } }
0910- 33.阅读下列程序,请写出该程序的输出结果。引用参数传递
class Test33 {
static void s (int b[ ], int k) {
int i, j, t;
for(i = 1;i< k; i++) {
for(t = b[i], j = i-1; j >= 0 && t < b[j]; j--)
b[j+l] = b[j]; b[j+ 1 ] = t; }
}
public static void main(String []args){
int i, a[] = {6, 12, 7, 11, 5 }; s(a, 5);
for(i = 0;i< a.length; i++) System.out.print(a[i]+\); System. out. Println();
}
} 5 6 7 11 12
1010-33.阅读下列程序,请写出该程序的输出结果。 class Test33 {
static int merger(int [] a, int []b, int []c){ int i = 0, j = 0, k = 0;
1 1 1 1 2 1 1 3 3 1
while(i < a.length && j < b.length) {
if(a[i] < b[j])c[k++] = a[i++]; else c[k++] = b[j++]; }
while(i < a.length) c[k++] = a[i++]; while(j < b.length) c[k++] = b[j++]; return k; }
public static void main(String[] args) { int a[] = {3, 6, 9}; int b[] = { 1, 2, 5}; int []c = new int[100]; int p = merger(a, b, c); for(int k = 0; k < p; k++)
System.out.print(c[k]+ (k < p-1 ? \ \ } }
0910-27.方法int sigmaEvenNum(int[]a)的功能是求已知数组中偶数的个数。
static int sigmaEvenNum(int []a){
int s =0;
for ( int i=0;______;i++ ) {
if(______) s++;
}
return s; }
1001-27.方法void moveOddForword(int a[ ])的功能是将数组中的所有奇数移到所有偶数之前。
void moveOddForword(int a[]){
for(int i=0, odd=0;___ i
1010-4.设有数组定义int[][] x={{1,2},{3,4,5},{6},{}};,则x.length的值为( ) A.3 B.4 C.6 D.7
1 2 3 5 6 9 0901-37.编写数组复制方法。该方法从已知平衡的两维数组的左下角复制出一个非平衡
的三角二维数组。设复制数组方法的模型为: public static double[][] leftDownConer(double[][]anArray)
public static double[][] leftDownConer(double[][]anArray){
}
}
return temp; }else{ }
temp=new double[l2][]; for(int i=0;i return temp; temp[i]=new double[i+1]; for(int j=0;j temp[i][j]=anArray[l1-l2+i][j]; int l1= anArray.length; int l2=anArray[0].length; double temp[][]; if(l1<=l2){ temp=new double[l1][]; for(int i=0;i temp[i]=new double[i+1]; for(int j=0;j temp[i][j]=anArray[i][j]; 0910-37.编写方法int searchMaxNumIndex(int[]a),寻找已知数组中最大数的下标并返回。 int searchMaxNumIndex(int[]a){ int i,maxIndex;(1分) for(i=maxIndex=0;ia[maxIndex])(1分) maxIndex=i;(1分) } return maxIndex;(1分) } 37.编写一个方法halfArray(),要求该方法有一个元素类型为int的数组参数,方法返回一个新数组,新数组的长度与参数数组的长度相同,而新数组元素的值是参数数组各元素的一半。(6分) 1:参考答案: [解析]本题考核知识点是面向对象程序设float [] halfArray(int [] a){(1分) 计中的方法设计。 编写方法,需要确定方 float [] b=new int[a.length];(2分) 法名,已给出halfArray;再确定参数个数及 for(int k=0;k<a.length;k++){(2分) 类型,要求是一个int型数组参数即 b[k]=float(a[k]/2.0); halfArray(int []);再就是确定方法返回值类型,要求返回一个新数组,新数组元素类型要确定下来,根据题意,新数组元素是参数数组相应元素的一半,这一半应该可能是小数,所以方法头应该为