
三、程序阅读题
1.阅读以下程序
import java.io.*;
public class Reverse2 {
public static void main(String args[ ]){
int i,n=10;
int a[] = new int[10];
try {
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));
a[i] = Integer.parseInt(br.readLine() );
} catch (IOException e) { };
for (i= n-1; i >= 0; i=i-2)
System.out.print(a[i]+" ");
System.out.println();
}
}
请写出该程序的功能:
该程序使用字符缓冲输入流从键盘输入10个数,然后倒序并间隔打印出来。
2.阅读以下程序
import java.io.* ;
public class abc {
public static void main(String args[ ]) {
int i, s = 0 ;
int a[] = { 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120 };
for ( i = 0 ; i< a.length ; i++ )
if (i % 3 == 0) s += a[i];
System.out.println("s=" + s);
}
}
请写出该程序的输出结果:
s=260
3、阅读以下程序:
import java.io.*;
public class TestRandomAccess {
public static void main(String args[]) {
int data_arr[]={65,66,56,23,27,1,43,65,4,99};
try {
RandomAccessFile randf=new RandomAccessFile("temp.dat
for (int i=0; i randf.writeUTF("Good morning!"); ' for(int i=data_arr.length-l; i>=0; i=i-2) { randf.seek(i*4); System,out.print(" "+randf.readInt()); randf.seek(40); System.out.println(randf.readUTF()); randf.close(); } catch (IOException e) { System.out.println("File access error: "+e); } } } 该程序的输出结果是: 99 65 1 23 66 Good morning! 4、阅读以下程序并填空。 class _____________________ extends Exception { String mymsg="我自己定义的异常!"; double mynum = 2.0; MyException () { super("首字母不能为A! ");} MyException (String msg){_____________ } //调用父类构造方法,参数为 msg public void displayme() { System.out.println(mymsg); } public double mymethod() { return Math.sqrt(mynum); } } class ExceptionTest { public static void main(String[] args) { try { if ( args[O].charAt(O)== 'A') { MyException e = new MyException(); System.out.println("kkkk:" + e.mymethod()); e.displayme(); System.out.println("*********in try*********"); __________________________; //抛出异常e } else if(args[O].charAt(O)== 'B') { throw new MyException ("第一个字符不应是B! "); } else { System.out.println(args[0]); } } catch ( __________________________ ) { System.out.println(aaa.getMessage()); aaa.displayme(); System.out.println("" + aaa.mymethod()); } catch( __________________________ ) { System.out.println("命令行参数个数错!"); } } } 程序填空: MyException super(msg) throw e MyException aaa ArrayIndexOutOfBoundsException 5、阅读以下程序 import java.io.*; public class Test { public static void main(String args[]) { SubSubClass m=new SubSubClass(3,6,6); m.show(); } } class SuperClass { int a,b; SuperClass(int x,int y){ a=x; b=y; } } class SubClass extends SuperClass { int c; SubClass(int aa,int bb,int cc) { super(aa,bb); c = cc; } } class SubSubClass extends SubClass { int a; SubSubClass(int aa,int bb,int cc) { super(aa,bb,cc); a = aa + bb + cc; } void show() { System.out.println("a="+ a +"\\nb="+ b +"\\nc="+ c); } } 请写出该程序的运行结果: a=60 b=20 c=30 6、阅读以下程序 import java.io.*; public class abc { public static void main(String args[]) { String sl = "Hello!"; String s2 = new String("World!"); System.out.println(sl.concat(s2)); } } 请写出该程序的运行结果: Hello!World! 7、阅读以下程序 import java.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]> max) max = a[i]; } System.out.println( max + " " + min); System.out.println(); } } 请写出该程序完成的功能: 在数组中查找并输出最大值和最小值。 8、阅读以下程序 import java.awt.*; import java.applet.Applet; public class DrawMylmage extends Applet { Image myImage; //定义一个图像类Image的对象myImage public void init(){ } public void paint(Graphics g) { g.drawImage(myImage,0,0,this); } } 请写出该程序的功能: 9、阅读以下程序并填空。 import java.awt.*; import java.applet.*; import java.net.*; public class Mypicture __________________ Applet { Image image; public void _________() { try { } _______________(MalformedURLException e) { } public void paint(Graphics g) { g.drawlmage(image,0,0,__________); } public void start() { ______________(); } } 程序填空题:extends init catch this repaint 10、阅读以下程序: public class Sum { public static void main( String args[]) { double sum = 0.0 ; for ( int i = 1; i<= 100; i ++ ) sum += i;, System.out.println( "sum=" + sum ); } } 该程序完成的功能是: 求sum=1+2+3+...+100的和。 11、阅读以下程序: class SuperClass { int a,b; SuperClass(int x,int y) { a=x; b=y; } voidshow() { System.out.println("a="+ a + "\\nb="+ b); } } class SubClass extends SuperClass { int c; SubClass(int aa,int bb,int cc) { super(aa,bb); c=cc; } voidshow() { System.out.println("c="+ c +"\\na="+ a +"\\nb="+ b); } } class SubSubClass extends SubClass { int a; SubSubClass(int aa,int bb,int cc) { super(aa,bb,cc); a=aa+bb+cc; } void show(){ System.out.println("a="+ a +"\\nb="+ b +"\\nc="+ c); } class test { public static void main(String[] args) { SuperClass p=new SubSubClass(10,20,30); p.show(); } } 该程序的输出结果是: a=60 b=20 c=30 12、阅读以下程序: import java.io.*; publiic class Test { public static void main(String args[]) { AB s = new AB("Hello! System.out.println( s.toString() ); } } class AB { String sl; String s2; AB( String strl, String str2 ) { sl = str1; s2 = str2; } public String toString() { return sl + s2; } } 该程序的输出结果是: Hello!I love Java. 13、阅读以下程序,并填空。 import _______________ class MyCopy { public static void main(Stringo args) { int ch; FileInputStream fin; _______________ fout; try { fin = new FileInputStream(args[0]); fout = new FileOutputStream(____________); ch = fin.read(); while(ch!=-1) { __________________ ch = fin.read(); } fin.close(); fout.close(); } catch (____________ e1) { System.out.println("使用格式错误!正确格式为:java mycopy源文件名目标文件名"); System.exit(0); } catch (FileNotFoundException e3) { System.out.println("文件没有找到!"); } catch (IOException e2) { System.out.println("流错误!"); } } } 程序填空: import java.io.*; FileOutputStream args[0] fout.write(ch); ArrayIndexOutOfBoundsException 14、阅读以下程序 import java.io.*; public class Reverse { public static void main(String args[]) { int i,n=10; int a[] = new int[10]; for(i=0; i BufferedReader br= new BufferedReader( new InputStreamReader(System.in)); a[i]=Integer.parseInt(br.readLine()); //输入一个整数 } catch (IOException e) { }; for (i = n-1; i >= 0; i--) System.out.print(a[i]+" "); System.out.println(); } } 请写出此程序功能: 程序运行时从键盘输入10个整数,然后倒序输出。 15、阅读以下程序 import java.io.* ; public class Test { public static void main(String args[ ]) { int i, s = 0; int a[] = {10, 20, 30, 40, 50, 60, 70, 80, 90}; for ( i = 0 ; i < a.length; i++ ) if(a[i] % 3 == 0) s += a[i]; System.out.println("s=" + s); } } 请写出此程序的输出结果: s=180 16、阅读以下程序(提示:注意同步) class One{ synchronized void display(int num) { System.out.println("two " + num); try { Thread.sleep(1000); } catch (InterruptedException e) { System.out.println(”中断”); } System.out.println(”完成”); } } class Two implements Runnable { int number; One one; Thread t; public Two(One one_num, int n) { one = one_num; number = n; t = new Thread(this); t.start(); } public void run(){ one.display(number); } } public class Synch { public static void main(String args[]) throws InterruptedException { One one = new One(); int digit = 100; Two s1 = new Two(one,digit); Two s2 = new Two(one,digit); Two s3 = new Two(one,digit); Two s4 = new Two(one,digit); s1.t.join(); s2.t.join(); s3.t.join(); s4.t.join(); System.out.println("Synch结束!"); } } 此程序的输出结果是: two 100 完成 two 100 完成 two 100 完成 two 100 完成 Synch 结束! 17、阅读以下程序,并填空。 import ____________________ ; class FileType{ public static void main(String args[]){ ____________________; try { FileReader fis = new_____________(args[0]); BufferedReader reader = new BufferedReader( ); String s; while((s=reader.readLine())!=________) { System.out.println(" "+(i++)+":" + s); } fis.close(); reader.close(); } catch (IOException e) { System.out.println(e); } catch (__________________ e1) { System.out.println(“缺少命令行参数!”); } } } 程序填空: java.io.*; int i; FileReader fis null ArrayIndexOutOfBoundsException 18、阅读以下程序: public class Sum { public static void main(String args[]) { double sum = 0.0: for (int i=1; i<=100; i++) sum += i*i; System.out.println( "sum="+sum); } } 该程序的功能是: 求出sum的值为1到100的平方和。 19、阅读以下程序: class Example { public static void main(String args[]) { int a[][] = new int[3][3]; a[0][0]=1; a[1][1]=1; a[2][2]=1; System.out.println("数组a:"); for (int i=0; i < a.length; i++) { for(int j=0; j < a[i].length; j++) System.out.print(a[i][j] + " "); System.out.println(); } } } 该程序的输出结果是: 1 0 0 0 1 0 0 0 1 20、阅读以下程序: public class Test2{ static boolean foo(char c){ System.out.print(c); return true; } public static void main(String[] args){ int i = 0: for(foo('A'); foo('B') && (i<2); foo('C')){ i++; foo('D'); } } } 此程序的输出结果是: "ABDCBDCB" 21、阅读以下程序,并填空。 import ____________________; import java.awt.event.*; public class OvalDrawer extends Frame implements Runnable{ private Color[] colors= { Color.RED,Color.BLACK,Color.BLUE, Color.GREEN,Color.DARK_GRAY }; private Color color; private int x=l0,y=10,width=10,height=10; public OvalDrawer(String title){ super(title); ___________________________; //设置窗口大小为300*300 setVisible(true); _________________________; //创建线程并启动 } public void run() { while(true) { x = (int)(Math.random0*300); y = (int)(Math.random0*300); width = (int)(Math.random()*100); height = (int)(Math.random()*100); color = colors[(int)(Math.random()*(colors.length-1))]; ___________________; //刷新窗口内容 try { Thread.sleep(400); } catch(InterruptedException e) { throw new RuntimeException(e); } } } public void paint(Graphics g){ g.setColor(color); ______________________; //画椭圆 } public static void main(String args[]) { new OvaIDrawer("hello"); } } 程序填空: java.awt.*; setSize(300,300); new Thread(this).start(); repaint(); g.drawOval(x,y,width,height); 22、阅读以下程序: 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); } } 此程序完成的功能是: 求解sum=1+1/2+1/3+...+1/100的值并打印输出。 23、阅读以下程序: 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); } } 此程序完成的功能是: 在Applet界面中显示一些由直线、矩形框、椭圆框和文字组成的图形。 24、阅读以下程序: import java.io.*; public class Test { public static void main(String args[]) { int i; int a[]={11,22,33,44,55,66,77,88,99}; for(i=0; i <= a.length/2; i++) System.out.print(a[il + a[a.length-i-1] + " "); System.out.println(); } } 此程序的输出结果是: 110 110 110 110 110 25、阅读程序并填空 import java.awt.*; import java.applet.*; public class DrawStringDemo ____________ Applet { private Font afont = ____________Font("Helvetica",Font.BOLD,18); public void init() { _______________(Color.black); } public void paint(Graphics g) { g.setColor(Color.green); ____________(afont); _____________________("This is a test",10,40); } } 程序填空: extends new setBackground setFont drawString 26、阅读以下程序 public class Test( public static void main(String[] args){ System.out.printf("sqrt(2.0)=%f", Math.sqrt(2.0)); } } 此程序的输出是: sqrt(2.0)=1.414214 27、阅读以下程序 public class SumTest { public static void main(String args[]) { double sum = 0.0; for(int i=1; i <= args.length; i++) sum += Double.parseDouble(args[i]); System.out.println("sum=" + sum); } } 此程序完成的功能是: 从命令行输入若干个数,求这若干个数的和并输出结果。 28、阅读以下程序 import java.util.Scanner; class IfTest { public static void main(String[] args){ double y,x; Scanner keyin = new Scanner(System.in); System.out.print(”请输入x的值:”); x = keyin.nextDouble(); if ( x > 0 ) y = 2 * x; else if( x == 0) y = 2 + Math.cos(x); else y = x * x + 1; System.out.println("y=" + y); } } 此程序完成的功能是: 从键盘输入一个数x,根据x的值求出相应的y值。 2*x x>0 y= 2 + cos(x) x=0 x2+1 x<0 29、阅读以下程序,完成填空,使其完整。 import ____________________; class Rectangle { public static void main(String[] args) { ______________w,l,S,s; //定义变量 Scanner keyin = new Scanner(System.in); System.out.print(”请输入长方形的长:”); l = keyin.nextDouble(); System.out.print(”请输入长方形的宽:”); w = ________________________ ; //输入宽 S = ________________________ ; //计算面积并保存在S中 s = _________________________ ; //计算周长并保存在s中 System.out.println("此长方形的面积:"+ S +"\\n此长方形的周长:" +s); } } 程序填空: java.util.Scanner或java.util.* double keyin.nextDouble() w*l (w+l)*2 30、阅读以下程序: public class Sum public static void main(String args[]) { double sum = 0.0; for(int i = 1; i <= 100; i++) sum += i*i*i; System.out.println(”sum=” + sum); } } 此程序完成的功能是: 计算并输出1到100的立方和sum值。 31、阅读以下程序 class Test { public static void main(String[] args){ int i = 1; do { if (i % 3 == 0) System.out.print(” ”+i); i++; } while(i <= 20); } } 此程序的输出结果是: 3 6 9 12 15 18 32、阅读以下程序 class Test{ int a; static int b; Test() { a=20; b=30;} public static void main(String[] ars){ Test sl = new Test(); Test s2 = new Test(); s2.a = 100; s2.b = 10000; System.out.println("s1.a=" + s1.a); System.out.println("s1.b=" + s1.b); System.out.println("s2.a=" + s2.a); System.out.println("s2.b=" + s2.b); } } 此程序的输出结果是: s1.a=20 s1.b=10000 s2.a=100 s2.b=10000 33、阅读以下程序,并填空。 import java util.Scanner; class TestSushu { public static void main(String[] args){ int m; boolean flag = true; Scanner keyin = ____________________ //创建Scanner输入对象 System.out.print(”请输入要测试的数:”); m = __________________ //用Scanner对象输入一个整数 for(int i = 2; i <= ________________ ; i++){ //对m开平方根 if ( m % i == 0) { flag = false; ________________ //结束循环 } } if (__________) //判断 System.out.println("" + m +"是素数"); else System.out.println(""+ m +"是合数"); } } 程序填空: new Scanner(System.in); keyin.nextInt(); Math.sqrt(m) break; flag
