Java复习题三阅读程序题软件 .doc
JAVA程序设计复习题之(三)阅读程序题三、程序阅读题1阅读以下程序import .*;public class Reverse2 public static void main(String args )int i,n=10; int a = new int10; try BufferedReader br = new BufferedReader( new InputStreamReader(); ai = Int(br.readLine() ); catch (IOException e) ; for (i= n-1; i >= 0; i=i-2).print(ai+" "); .println();请写出该程序的功能:该程序使用字符缓冲输入流从键盘输入10个数,然后倒序并间隔打印出来。2阅读以下程序import .* ;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 += ai;.println("s=" + s);请写出该程序的输出结果:s=2603、阅读以下程序:import .*;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("","rw"); for (int i=0; i<data_h; i+) lnt(data_arri); UTF("Good morning!"); ' for(int i=data_h-l; i>=0; i=i-2) (i*4); System,(" "+nt(); (40); .println(TF(); (); catch (IOException e) .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() .println(mymsg); public double mymethod() return (mynum); class ExceptionTest public static void main(String args) try if ( argsO.charAt(O)= 'A') MyException e = new MyException();.println("kkkk:" + e.mymethod();e.displayme();Systemoutprintln("*in try*"); _; /抛出异常e else if(argsO.charAt(O)= 'B') throw new MyException ("第一个字符不应是B! "); else .println(args0); catch ( _ ) .println(ssage(); ayme(); .println("" + hod(); catch( _ ) .println("命令行参数个数错!"); 程序填空:MyException super(msg)throw eMyException aaaArrayIndexOutOfBoundsException5、阅读以下程序 import .*;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() .println("a="+ a +"nb="+ b +"nc="+ c); 请写出该程序的运行结果:a=60b=20c=306、阅读以下程序import .*;public class abc public static void main(String args) String sl = "Hello!"String s2 = new String("World!");.println(sl.concat(s2); 请写出该程序的运行结果:Hello!World!7、阅读以下程序import .*;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= a0;for(i=1; i<a.length; i+)if( ai< min) min = ai;if( ai> max) max = ai;.println( max + " " + min);.println(); 请写出该程序完成的功能:在数组中查找并输出最大值和最小值。8、阅读以下程序import .*;import t.Applet;public class DrawMylmage extends Applet Image myImage; /定义一个图像类Image的对象myImage public void init()myImage= getImage(getDocumentBase(),""); public void paint(Graphics g) g.drawImage(myImage,0,0,this); 请写出该程序的功能:在Applet界面中显示当前文件夹下名为“”的图像。9、阅读以下程序并填空。import .*;import t.*;import .*;public class Mypicture _ Applet Image image; public void _() try image=getlmage(new URL(getCodeBase(),''); _(MalformedURLException e) public void paint(Graphics g) g.drawlmage(image,0,0,_); public void start() _();程序填空题:extends init catch this repaint10、阅读以下程序:public class Sum public static void main( String args) double sum = 0.0 ; for ( int i = 1; i<= 100; i + ) sum += i;, .println( "sum=" + sum ); 该程序完成的功能是:求sum=1+2+3+.+100的和。11、阅读以下程序:class SuperClass int a,b; SuperClass(int x,int y) a=x; b=y; voidshow() .println("a="+ a + "nb="+ b); class SubClass extends SuperClass int c; SubClass(int aa,int bb,int cc) super(aa,bb);c=cc; voidshow() .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().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=60b=20c=3012、阅读以下程序:import .*;publiic class Test public static void main(String args) AB s = new AB("Hello!","I love Java.");.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(args0);fout = new FileOutputStream(_);ch = ();while(ch!=-1) _ch = ();(); (); catch (_ e1) .println("使用格式错误!正确格式为:java mycopy源文件名目标文件名");(0); catch (FileNotFoundException e3) .println("文件没有找到!"); catch (IOException e2) .println("流错误!"); 程序填空:import .*;FileOutputStreamargs0(ch);ArrayIndexOutOfBoundsException14、阅读以下程序import .*;public class Reverse public static void main(String args) int i,n=10;int a = new int10;for(i=0; i<n; i+)try BufferedReader br= new BufferedReader(new InputStreamReader();ai=Int(br.readLine(); /输入一个整数 catch (IOException e) ;for (i = n-1; i >= 0; i-).print(ai+" ");.println(); 请写出此程序功能:程序运行时从键盘输入10个整数,然后倒序输出。15、阅读以下程序import .* ;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(ai % 3 = 0) s += ai;.println("s=" + s);请写出此程序的输出结果:s=18016、阅读以下程序(提示:注意同步)class One synchronized void display(int num) .println("two " + num);try (1000); catch (InterruptedException e) .println(”中断”);.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()ay(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();.println("Synch结束!"); 此程序的输出结果是:two 100完成two 100完成two 100完成two 100完成Synch 结束!17、阅读以下程序,并填空。import _ ;class FileTypepublic static void main(String args)_; try FileReader fis = new_(args0);BufferedReader reader = new BufferedReader( );String s;while(s=ine()!=_) .println(" "+(i+)+":" + s);();(); catch (IOException e) .println(e); catch (_ e1) .println(“缺少命令行参数!”); 程序填空:.*;int i;FileReaderfisnullArrayIndexOutOfBoundsException18、阅读以下程序:public class Sum public static void main(String args) double sum = 0.0:for (int i=1; i<=100; i+)sum += i*i;.println( "sum="+sum); 该程序的功能是:求出sum的值为1到100的平方和。19、阅读以下程序:class Example public static void main(String args) int a = new int33;a00=1; a11=1; a22=1;.println("数组a:");for (int i=0; i < a.length; i+) for(int j=0; j < ai.length; j+).print(aij + " ");.println(); 该程序的输出结果是:1 0 00 1 00 0 120、阅读以下程序:public class Test2static boolean foo(char c).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 .event.*;public class OvalDrawer extends Frame implements Runnable private Color colors= ,_GRAY ; private Color color; private int x=l0,y=10,width=10,height=10; public OvalDrawer(String title)super(title);_; /设置窗口大小为300*300setVisible(true);_; /创建线程并启动 public void run() while(true) x = (int)(m0*300);y = (int)(m0*300);width = (int)(m()*100);height = (int)(m()*100);color = colors(int)(m()*(h-1);_; /刷新窗口内容try (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"); 程序填空:.*;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;.println("sum="+sum); 此程序完成的功能是:求解sum=1+1/2+1/3+.+1/100的值并打印输出。23、阅读以下程序:import .*;import t.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 .*;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+).print(ail + aa.length-i-1 + " ");.println(); 此程序的输出结果是:110 110 110 110 11025、阅读程序并填空import .*;import t.*;public class DrawStringDemo _ Applet private Font afont = _Font("Helvetica",18); public void init() _(); public void paint(Graphics g) g.setColor();_(afont);_("This is a test",10,40); 程序填空:extends new setBackground setFont drawString26、阅读以下程序public class Test( public static void main(String args).printf("sqrt(2.0)=%f", (2.0); 此程序的输出是:sqrt(2.0)=1.41421427、阅读以下程序public class SumTest public static void main(String args) double sum = 0.0;for(int i=1; i <= h; i+)sum += Double(argsi);.println("sum=" + sum); 此程序完成的功能是:从命令行输入若干个数,求这若干个数的和并输出结果。28、阅读以下程序import .Scanner;class IfTest public static void main(String args)double y,x;Scanner keyin = new Scanner();.print(”请输入x的值:”);x = ouble();if ( x > 0 ) y = 2 * x;else if( x = 0) y = 2 + (x);else y = x * x + 1; .println("y=" + y); 此程序完成的功能是:从键盘输入一个数x,根据x的值求出相应的y值。 2*x x>0y= 2 + cos(x) x=0 x2+1 x<029、阅读以下程序,完成填空,使其完整。import _;class Rectangle public static void main(String args) _w,l,S,s; /定义变量Scanner keyin = new Scanner();.print(”请输入长方形的长:”);l = ouble();.print(”请输入长方形的宽:”);w = _ ; /输入宽S = _ ; /计算面积并保存在S中s = _ ; /计算周长并保存在s中.println("此长方形的面积:"+ S +"n此长方形的周长:" +s); 程序填空:.Scanner或.*doubleouble()w*l(w+l)*230、阅读以下程序:public class Sum public static void main(String args) double sum = 0.0;for(int i = 1; i <= 100; i+)sum += i*i*i;.println(”sum=” + sum); 此程序完成的功能是:计算并输出1到100的立方和sum值。31、阅读以下程序class Test public static void main(String args)int i = 1;do if (i % 3 = 0).print(” ”+i);i+; while(i <= 20); 此程序的输出结果是:3 6 9 12 15 1832、阅读以下程序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; .println("s1.a=" + s1.a);.println("s1.b=" + s1.b);.println("s2.a=" + s2.a);.println("s2.b=" + s2.b); 此程序的输出结果是:s1.a=20s1.b=10000s2.a=100s2.b=1000033、阅读以下程序,并填空。import java er;class TestSushu public static void main(String args)int m;boolean flag = true;Scanner keyin = _ /创建Scanner输入对象.print(”请输入要测试的数:”);m = _ /用Scanner对象输入一个整数for(int i = 2; i <= _ ; i+) /对m开平方根if ( m % i = 0) flag = false;_/结束循环if (_) /判断 .println("" + m +"是素数");else .println(""+ m +"是合数"); 程序填空:new Scanner();nt();(m)break;flag