Java全国自考历年试卷(参考答案)
- 格式:doc
- 大小:884.00 KB
- 文档页数:120
java语言自考试题及答案一、选择题(每题2分,共20分)1. Java语言的特点不包括以下哪一项?A. 跨平台B. 面向对象C. 多重继承D. 自动内存管理答案:C2. 在Java中,用于定义类和方法的关键字是?A. classB. functionC. methodD. type答案:A3. 下列哪个不是Java的访问修饰符?A. publicB. privateC. protectedD. global答案:D4. Java中,用于实现异常处理的关键字是?A. tryB. catchC. throwD. 所有选项答案:D5. Java中,哪个类是所有Java类的根类?A. ObjectB. ClassC. SystemD. Thread答案:A6. Java中的集合框架主要分为哪两大类?A. List和SetB. Map和QueueC. Collection和MapD. Set和Queue答案:C7. 在Java中,如何实现多线程?A. 实现Runnable接口B. 继承Thread类C. 实现Callable接口D. 所有选项答案:D8. Java中的垃圾回收机制是做什么用的?A. 自动内存管理B. 编译代码C. 执行代码D. 错误检查答案:A9. 下列哪个不是Java的基本数据类型?A. intB. floatC. doubleD. String答案:D10. Java中,用于声明接口的关键字是?A. classB. interfaceC. abstractD. package答案:B二、填空题(每题2分,共20分)11. Java语言的一句名言是“Write once, _______ anywhere.”答案:run12. 在Java中,________关键字用于实现单例模式。
答案:static13. Java的包管理器是________。
答案:package14. Java中,一个类可以同时实现多个接口,这是通过________关键字实现的。
全国2012年10月自考Java语言程序设计(一)试题课程代码:04747请考生按规定用笔将所有试题的答案涂、写在答题纸上。
选择题部分注意事项:1. 答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。
2. 每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑。
如需改动,用橡皮擦干净后,再选涂其他答案标号。
不能答在试题卷上。
一、单项选择题(本大题共10小题,每小题1分,共10分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸’’的相应代码涂黑。
错涂、多涂或未涂均无分。
1. Java语言中,int类型占用的二进制位数是A. 8位B. 16位C. 32位D. 64位2. 以下关于Java语句的说法正确的是A. continue语句必须出现在多路按值选择结构或循环结构中B. return语句可以出现在方法体的外面C. 编译系统会把单独的分号看成是空语句D. break语句的作用是提早结束当前轮次循环3. 不能..被再继承的类是A. final类B. abstract类C. public类D. 用户自定义类4. 已知String s="ABCDEFGHIJABC",以下说法错误..的是A. s.indexOf("C")等于2B. s.indexOf("EFG",2)等于4C. s.indexOf("A",7)等于10D. s.indexOf("D",4)等于35. 以下Swing提供的GUI组件类和容器类中,不属于...顶层容器的是A. JFrameB. JAppletC. JDialogD. JMenu6. 以下不是..JDialog类构造方法的是A. JDialog( )B. JDialog(boolean b)C. JDialog(JFrame f, String s)D. JDialog(JFrame f, String s, boolean b)7. 以下不属于...文字字型要素的是A. 字体B. 风格C. 字号D. 颜色8. 阻塞状态的线程在消除引起阻塞的原因后,会转入A. 死亡状态B. 开始状态C. 就绪状态D. 运行状态9. 字符流数据是A. 8位的ASCII字符B. 16位的Unicode字符C. 任意字符数据D. 任意二进制数据10. 以下方法中,可以执行SQL查询语句的是A. executeQuery( )B. executeUpdate( )C. executeSQL( )D. executeFind( )非选择题部分注意事项:用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。
java语言自考试题及答案一、选择题(每题2分,共20分)1. Java中,下列哪个关键字用于声明一个类?A. classB. interfaceC. abstractD. final答案:A2. 在Java中,下列哪个选项是正确的方法声明?A. public void myMethod(int a, int b){}B. public void myMethod(int a, int b){ return a + b; }C. public int myMethod(int a, int b){}D. public void myMethod(int a, int b){ return "a + b"; } 答案:A3. Java中,下列哪个选项是合法的变量名?A. 2variableB. variable2C. $variableD. variable!答案:B4. 以下哪个Java关键字用于抛出异常?A. tryB. catchC. throwD. finally答案:C5. 在Java中,下列哪个选项表示一个字符串字面量?A. "Hello World"B. 'Hello World'C. `Hello World`D. Hello World答案:A6. Java中,下列哪个选项是正确的继承关系?A. class A extends B{}B. class A implements B{}C. class A extends interface B{}D. class A implements A{}答案:A7. 在Java中,下列哪个选项是正确的数组声明?A. int[] myArray;B. int myArray[];C. int[] myArray = new int[10];D. int myArray = new int[10];答案:C8. Java中,下列哪个选项是正确的循环结构?A. for (int i = 0; i < 10; i++) {}B. for (int i = 0; i <= 10; i++) {}C. for (int i = 10; i > 0; i--) {}D. for (int i = 0; i < 10; i--) {}答案:A9. 在Java中,下列哪个选项是正确的多态性使用?A. Animal a = new Dog();B. Dog d = new Animal();C. Animal a = new Cat();D. Cat c = new Dog();答案:A10. Java中,下列哪个选项是正确的接口实现?A. interface Animal {}B. class Dog implements Animal {}C. class Dog extends Animal {}D. interface Animal extends Dog {}答案:B二、填空题(每题2分,共20分)1. Java中,用于定义一个包的关键字是______。
四川自考java试题及答案一、单项选择题(每题2分,共20分)1. Java语言的创始人是()。
A. James GoslingB. Bill GatesC. Dennis RitchieD. Linus Torvalds答案:A2. 下列关于Java语言的描述,错误的是()。
A. Java是一种面向对象的编程语言B. Java是一种编译型语言C. Java具有很好的跨平台性D. Java是完全独立的,不需要操作系统支持答案:D3. Java中,用于捕获异常的关键字是()。
A. tryB. catchC. finallyD. throw答案:B4. 在Java中,下列哪个选项不是访问控制符()。
A. publicB. privateC. protectedD. static5. 下列关于Java集合框架的描述,正确的是()。
A. Collection是最基本的集合接口B. List是Map接口的子接口C. Set不允许有重复元素D. Map是List接口的子接口答案:C6. Java中,下列哪个关键字用于创建线程()。
A. implementsB. extendsC. implements RunnableD. extends Thread答案:D7. 在Java中,下列哪个方法是Object类的公共方法()。
A. toString()B. equals()C. clone()D. all of the above答案:D8. Java中,下列哪个选项是正确的字符串比较方法()。
A. ==B. equals()C. compareTo()D. both B and C答案:D9. Java中,下列哪个选项不是Java的基本数据类型()。
B. floatC. doubleD. String答案:D10. Java中,下列哪个选项是正确的注释方式()。
A. // This is a single-line commentB. /* This is a multi-line comment */C. /* This is a multi-line comment */D. all of the above答案:D二、填空题(每题2分,共20分)1. Java中的关键字________用于定义一个接口。
历年java自考试题及答案一、单项选择题(每题2分,共10题)1. Java中,哪个关键字用于定义一个类?A. classB. interfaceC. structD. enum2. 下列哪个是Java中的原始数据类型?A. StringB. intC. ArrayListD. HashMap3. Java中,哪个方法用于获取数组的长度?A. length()B. size()C. getLength()D. length4. 在Java中,哪个关键字用于抛出异常?A. throwB. throwsC. exceptionD. error5. 下列哪个是Java中的集合类?A. StringB. ListC. MapD. int6. Java中,哪个关键字用于定义接口?A. classB. interfaceC. abstractD. final7. 在Java中,哪个关键字用于定义一个方法?A. methodB. functionC. defD. void8. Java中,哪个关键字用于定义一个包?A. packageB. importC. classD. public9. 在Java中,哪个关键字用于实现多态?A. extendsB. implementsC. abstractD. final10. Java中,哪个关键字用于定义一个枚举?A. enumB. listC. setD. map答案:1. A2. B3. D4. B5. B6. B7. D8. A9. A10. A二、多项选择题(每题2分,共10题)1. Java中,哪些是合法的变量名?A. 2variableB. variable2C. $variableD. variable2. 下列哪些是Java中的控制流语句?A. ifB. forC. whileD. switch3. Java中,哪些是合法的继承方式?A. public class B extends AB. public class B implements AC. public class B extends A, CD. public class B extends A, implements C4. 下列哪些是Java中的异常处理关键字?A. tryB. catchC. finallyD. throw5. Java中,哪些是合法的数组声明?A. int[] myArray;B. String[] myArray = new String[10];C. int myArray[] = {1, 2, 3};D. int[] myArray = new int[10];6. 下列哪些是Java中的集合框架接口?A. ListB. SetC. MapD. Queue7. Java中,哪些是合法的循环控制语句?A. breakB. continueC. returnD. throw8. 下列哪些是Java中的泛型?A. List<String>B. ListC. Map<String, Integer>D. Map9. Java中,哪些是合法的接口实现?A. public interface A {}B. public class B implements A {}C. public abstract class C implements A {}D. public class D {}10. Java中,哪些是合法的注释?A. // This is a single line commentB. /* This is a multi-line comment */C. / This is a documentation comment */D. This is a shell script comment答案:1. B, D2. A, B, C, D3. A, B4. A, B, C5. A, B, C, D6. A, B, C, D7. A, B8. A, C9. A, B, C10. A, B, C三、判断题(每题2分,共10题)1. Java是一种编译型语言。
Java语言程序设计(一)自考题-2(总分100, 做题时间90分钟)一、单项选择题(在每小题列出的四个备选项中只有一个是符合题目要求的。
)1.下列Java整型常量错误的是( )A.007 B.008C.Ox3AA D.Ox3ABSSS_SIMPLE_SINA B C D分值: 1答案:B[解析] 主要考查的知识点为Java基本数据类型——整数类型。
[要点透析] 0开头的整数是八进制数,八进制数中能够使用的数字只有0、1、……、7这八个;0x开头的整数是十六进制数,十六进数数中能够使用的数字有0、1、……、9、A、B、C、D、E、F。
2.下列Java语句中,错误的是( )A.连续出现多个分号B.try……catch语句C.include语句D.switch语句SSS_SIMPLE_SINA B C D分值: 1答案:C[解析] 主要考查的知识点为Java语句。
[要点透析] 在Java语言中连续出现多个分号不是一种错误,编译系统认为每个单独的分号都是一个空语句。
B选项是捕获异常的语句。
D选项是多分支选择语句。
在Java中没有include语句。
3.下列有关抽象类及抽象方法的叙述错误的是( )A.使用final修饰的类是抽象类B.使用abstract修饰的方法是抽象方法C.抽象类必须被继承才能使用,抽象类不可能有实例D.抽象类可以没有抽象方法,但有抽象方法的类一定是抽象类SSS_SIMPLE_SINA B C D分值: 1答案:A[解析] 主要考查的知识点为Java抽象类及抽象方法。
[要点透析] 抽象类和抽象方法都是使用abstract进行修饰。
抽象类只声明一个模板,没有具体实现的代码,只有它的子类才可能有实际意义。
抽象方法只能出现在抽象类中,抽象方法在抽象类中只声明了一个方法头部就用分号结束了,没有实现方法功能的代码。
使用final修饰的类、方法和变量都是不可以再改变的。
final类不能被继承,final方法不能被子类的方法覆盖,final变量相当于一个常量。
2018年10月高等教育自学考试全国统一命题考试Java语言程序设计(一) 试卷(课程代码04747)本试卷共7页,满分l00分,考试时间l50分钟。
第一部分选择题一、单项选择题:本大题共l0小题,每小题l分,共10分。
在每小题列出的备选项中只有一项是最符合题目要求的,请将其选出。
1.以下标识符中,不晕Java语言关键字的是A.class B.newC.long D.wait2.以下程序代码的输出结果是A.6420 B.753lC.642 D.5313.以下选项中,不是转义字符的是A.\u061 B.\`C.\l41 D.\u00614.假设有定义:String S=null;,则下列选项中,能引发异常的是5.设有数组定义int[][]X={{1,2,3},{},{3,4,5},{6,7}};,下列选项中正确的是 A.x.1ength的值是3 B.x[1][0]的值是0C.x[2].1ength的值是3 D.x[3][1]的值是36.下列关于抽象类的叙述中,正确的是A.类中只能含有抽象方法,不能含有普通方法B.类中不一定要有抽象方法,必须要有普通方法C.类中必须含有抽象方法,也可以有普通方法D.类中既可以有抽象方法,也可以有普通方法。
7.以下Java程序代码中,能创建BufferedReader对象的是8.MouseMotionListener接口能处理的鼠标事件是A.按下鼠标键 B.释放鼠标键C.鼠标离开 D.鼠标移动9.列表(JList)中可以对所选项进行控制,下列选项中正确的是A.仅支持单项选择。
B.同时支持单项或多项选择。
C.仅支持连续的多项选择D.既支持单项选择,也支持连续或间断的多项选择10.以下方法中,可以使新创建的线程投入运行的是A.start() B.yield()C.runO D.wait0第二部分非选择题二、填空题:本大题共l0小题,每空2分,共20分。
11.源文件Test11.java经编译后,若正确,则得到的文件名是_________。
java语言自考试题及答案一、选择题(每题2分,共20分)1. Java语言中,下列哪个关键字用于定义一个接口?A. classB. interfaceC. abstractD. package答案:B2. 下列哪个选项是Java语言中的一个基本数据类型?A. StringB. intC. ListD. Map答案:B3. 在Java中,下列哪个关键字用于抛出异常?A. tryB. catchC. throwD. finally答案:C4. 下列哪个选项不是Java集合框架的一部分?A. ArrayListB. HashMapC. LinkedListD. String答案:D5. 在Java中,下列哪个关键字用于定义一个类?A. classB. interfaceC. abstractD. package答案:A6. 下列哪个选项是Java语言中的错误处理机制?A. 异常处理B. 断言C. 垃圾回收D. 多线程答案:A7. 在Java中,下列哪个关键字用于声明一个方法?A. classB. interfaceC. abstractD. method答案:D8. 下列哪个选项是Java语言中的一个访问修饰符?A. privateB. publicC. protectedD. all of the above答案:D9. 在Java中,下列哪个关键字用于实现多线程?A. threadB. synchronizedC. implementsD. extends答案:A10. 下列哪个选项是Java语言中用于创建对象的关键字?A. newB. thisC. superD. void答案:A二、填空题(每题2分,共20分)1. Java语言中,一个类可以继承另一个类,但只能继承______个类。
答案:一2. Java语言中,用于定义一个类的方法的关键字是______。
答案:void3. 在Java中,用于声明一个变量的关键字是______。
10月全国自考Java语言程序设计(一)真题及答案2022年10月全国自考Java语言程序设计(一)真题及答案一、单项选择题(本大题共10小题,每小题1分,共10分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.下面供选字符序列中,不属于Java语言关键字的是() (1分)A:goto B:null C:false D:native2.以下程序代码的输出结果是()int x=73;System.out.println(x1);(1分)A:36 B:36.5 C:37 D:true3.Java语言中,在类定义时用final关键字修饰,是指这个类() (1分)A:不能被继承B:在子类的方法中不能被调用C:能被别的程序自由调用4.以下是关于字符串运算的代码,执行该代码段的输出结果是()String s=″__-__89″,s1,s2;s1=s.substring(2);s2=s.substring(2,5);System.out.println(s1+s2);(1分)A:__-__ B:__-__2345 C:0__ D:__-__2345.以下是关于FlowLayout布局组件排列顺序的叙述,正确的是() (1分)A:从上到下排列B:从左到右排列C:从下到上排列D:从右到左排列6.程序执行方法showOpenDialog(),能打开“打开文件对话框”,如果该方法的返回值是JFileChooser.___OPTION,则用户执行的动作是() (1分)A:对话框非正常关闭B:按下“打开/保存”按钮D:重新输入了一个文件名7.设已经有Graphics2D对象g2d,Rectangle2D对象r,绘制对象r的代码是() (1分)A:g2d.draw(r) B:g2d.drawRect(r) C:r.draw() D:r.drawRect()8.在以下供选择的方法中,能让线程从阻塞状态恢复到就绪状态的方法是() (1分)A:start() B:init() C:resume() D:run()9.在以下供选择的方法中,不能用于文件随机访问的方法是() (1分)A:readChar() B:readLong() C:readInteger() D:writeChars()10.某程序利用网址参数创建URL对象url,接着希望利用对象url获得URLConnection对象,则这个url对象要调用的方法是() (1分)A:connection() B:URLConnection()C:getConnection() D:openConnection()二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
1.单项选择题第一部分,共10题:1.以下用户定义的标识符中哪项是合法的( )A._id B.user IDC.1a D.Double2.以下程序代码的输出的结果是()int x=99;System. out. println(1.0+x/2);A.27.0 B.27.5C.50.0 D.50.53.编译Java 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( ) A. .java B. .classC. .htmlD. .exe4.可在浏览器中运行的Java程序是()A.Application B.WindowsC.Frame D.Applet5.在Java语言中,一般不作为容器使用的是()A. JDialogB. JFrameC. JTextAreaD. JPanel6.以下关于继承的叙述正确的是()A.在Java中类不允许多继承B.在Java中一个类只能实现一个接口C.在Java中接口只允许单一继承D.在Java中一个类不能同时继承一个类和实现一个接口7.Java语言支持网络通信的软件都在()包中。
A. B. C. .ftpD. .www8.为8位字节流数据提供读操作支持的类是()A:FileInputStreamB:FileOutputStremC:FileReaderD:FileWriter9.哪个关键字可以对对象加互斥锁? ()A transientB synchronizedC serializeD static10.在编写访问数据库的Java程序中,要用到DriverManager类。
该类的作用是( )A.存储查询结果B.处理与数据库的连接C.在指定的连接中处理SQL语句D.处理驱动程序的加载和建立数据库连接第二部分,共10题:11.下述字符组合不能作为Java程序标识符的是()A.Aa12 B.大xC.y小D.5x2.12. 执行完以下代码int [ ] x = new int[25]; 后,以下哪项说明是正确的()A.x[24]为0 B.x[24]未定义C.x[25]为0 D.x[0]为null13.下面哪些是java语言中的关键字?A . sizeof B. abstractC. NULLD. Native14.编译Java 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。
全国2009年1月Java语言程序设计试题一、单项选择题(本大题共10小题,每小题1分,共10分)1.下列字符组合不能作为Java整型常量的是( )A.078B.0x3ACBC.5000D.0x3ABC2.以下程序代码的输出结果是( )int x = 10;while (x > 7) { System.out.print("*"); x--;}A.**B.***C.*D.****3.设类U声明,及对象u和v的定义如下:class U{int x, int y;U(int a, int b){x= a; y = b;}void copy(U a){ x = a.x; y = a.y;}}U u = new U(1, 2), v = new U(2, 3);在以下供选择的代码中,可能引起系统回收内存的是( )A.u.x=v.y;u.y=v.x;B.u=v;C.u.copy(v);D.v.copy(u);4.设有以下代码:String s l="123";String s2="123";String s3=new String("123");则表达式s1==s2和s1==s3的值分别是( )A.true,trueB.false,falseC.true,falseD.false,true5.以下关于AWT与Swing之间关系的叙述,正确的是( )A.Swing是AWT的提高和扩展B.在写GUI程序时,AWT和Swing不能同时使用C.AWT和Swing在不同的平台上都有相同的表示D.AWT中的类是从Swing继承的6.在以下Swing组件中,能为它指定布局管理器的是( )A.JScrollBar对象B.JMenuBar对象C.JComboBox对象D.JDialog对象7.一般的绘图程序要定义一个JPanel子类。
在JPanel子类中还要重定义一个方法,在这个方法中调用绘图方法,绘制各种图形。
要重定义的方法是( )A.paint()B.paintComponent()C.repaint()D.update()8.用Runnable接口实现多线程的主要工作是( )A.声明实现Runnable接口的类,在类内实现run()方法,让线程调用start()方法。
B.声明实现Runnable接口的类,在类内实现run()方法,在类内声明线程对象,在init()方法中创建新线程,启动新线程。
C.声明实现Runnable接口的类,在类内实现run()方法,在类内声明线程对象,在init()方法或start()方法中创建新线程,在start()方法中启动新线程。
D.声明实现Runnable接口的类,在类内实现run()方法,在init()方法中创建新线程,在start()方法中启动新线程。
9.程序如果要按行输入输出文件的字符流,最合理的方法是采用( )A.BufferedReader类和BufferedWriter类B.InputStream类和OutputStream类C.FileReader类和FileWriter类D.File_Reader类和File_Writer类10.在编写访问数据库的Java程序中,要用到DriverManager类。
该类的作用是( )A.存储查询结果B.处理与数据库的连接C.在指定的连接中处理SQL语句D.处理驱动程序的加载和建立数据库连接二、填空题(本大题共10小题,每小题2分,共20分)11.Java程序的字节码文件的扩展名是__.class__。
12.构造一个Java表达式:y/x>5,并且x!=0。
这个表达式是___y/x>5&&x!=0______。
13.在类声明之前用____final_____修饰,声明类是不能被再继承的类,即它不能再有子类。
14.设有字符串定义:String s="ABCDABCD";则表达式s.indexOf("B")的值是____1_____。
15.在实现接口ActionListener的方法actionPerformed()中,常用的有两个获得事件源的方法,它们是getActionCommand()和_____getSource()____。
16.使用单选按钮的方法是将一些单选按钮用_____ButtonGroup____对象分组,使同一组内的单选按钮只允许一个被选中。
17.在Java语言中,用类Font对象设置字型。
如果要设置的字型是:细明体、正常风格(Font.PLAIN),12磅字号,构造这样要求的Font对象fnA的代码是__Font f=new Font(“Font.PLAIN”,细明体,12);_______。
18.线程从阻塞状态恢复到就绪状态,有三种途径:自动恢复、用resume()方法恢复和用__notify()或notifyAll()___方法恢复。
19.为普通的8位字节流文件读和写操作提供支持的类是_FileInputStream和FileOutputStream_。
20.Connection类是java.sql包中用于处理与数据库连接的类。
Connection对象是用来表示__数据库连接___的对象,Java程序对数据库的操作都在这种对象上进行。
三、简答题(本大题共6小题,每小题3分,共18分)21.请写出表示year年是闰年的Java表达式。
闰年的条件是:每4年一个闰年,但每100年少一个闰年,每400年又增加一个闰年。
(year%4==0 && year%100!=0 || (year%400==0)22.请写出在类的方法的定义之前,加上修饰字public、private的区别。
public 修饰的方法是共有的,其他类的方法都可以访问;而private修饰的方法是私有的,其他类都不能访问。
23.请写出将文本区text放置于滚动面板jsp,并将滚动面板jsp添加到JFrame窗口myFrame 的Java语句。
JTextArea text=new JTextArea();JScrollPane jsp=new JScrollPane(text); myFrame.getContentPane().add(jsp);24.要用Graphics2D类的方法画一个图形,首先要把参数对象g强制转换成Graphics2D对象;然后,用图形类提供的静态方法Double()创建一个图形对象;最后,以图形对象为参数调用Graphics2D对象的draw()方法绘制这个图形。
请写出用这样的方法绘制一条线段的程序段,线段的两个端点分别是(10.0,10.0)和(30.0,30.0)。
Graphics2D g2d=(Graphics2D)g;Line2D line=new Line2D.Double(10.0,10.0,30.0,30.0);g2d.draw(line);25.请写出字符流数据与字节流数据的区别。
字符流数据每次读写的单位是一个字符,即16位;字节流数据每次读写的单位是一个字节,即8位。
26.请写出URLConnection类在编写Java网络应用程序中的作用。
URLConnection的作用是建立网络资源的连接,用于发送和接收信息。
四、程序填空题(本大题共5小题,每小题4分,共20分)27.方法int sigmaDigit(int n)的功能是求出十进制整数n的各位数字之和。
例如,n=1234,该方法的返回值是10。
static int sigmaDigit( int n ){ int sum = 0, d;while( n > 0 ){d=n% 10;sum=sum+d;n/= 10;}return sum;}28.以下小应用程序能响应鼠标按动的事件,当鼠标在正文区的某个位置被点击时,就在该位置显示一个记号“×”,程序限制最多保留最新20个位置。
import java.applet.*; import java.awt.*;import javax.swing.*; import java.awt.event.*;class MyPanel extends JPanel {public void print(Graphics g, int x, int y)(g.setColor(Color.red);g.drawLine(x-5, y-5, x+5, y+5);g.drawLine(x+5, y-5, x-5, y+5);}}class MyWindow extends JFrame implements MouseListener{final int MaxMarks = 20;int currentMarks = 0, markCount = 0;Point marks[] = new Point[MaxMarks];MyPanel panel;MyWindow(){this.setLocation(100, 100); this.setSize(300, 300);Container con = this.getContentPane();panel = new MyPanel(); con.add(panel);panel.addMouseListener(this);this.setVisible(true);}public void paint(Graphics g){int i;g.clearRect(0,0, this.getWidth(), this.getHeight());for(i =0;i < markCount; i++) {panel.print (g, marks[i].x, marks[i].y);}}public void mousePressed(MouseEvent e){ }public void mouseReleased(MouseEvent e){ }public void mouseEntered(MouseEvent e){ }public void mouseExited(MouseEvent e){ }public void mouseClicked(MouseEvent e){marks[currentMarks] = new Point(e.getX(), e.getY());if(markCount < MaxMarks)markCount++;currentMarks = (currentMarks+ 1)%MaxMarks;repaint();}}public class Class1 extends Applet {public void init(){ MyWindow myWndow = new MyWindow(); }}29.这是一个处理选择项目事件的子窗口类。