Java复习题目

更新时间:2023-09-09 21:51:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Java复习题目:

一、 基本语法与逻辑类型题目

1、 输出九九乘法表(双重循环)。

2、 输出100以内的全部素数(循环、分支)

3、 输出Fibonacci数列的前20个数(递推、递归)。 4、 打印出所有的三位水仙花数。

5、 将学生的百分制成绩,换算为五分制成绩(分支)。

6、 从键盘输入2个长整数和一个运算符,进行加或减运算,输出运算结果。(输入输

出)

7、 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数(字符串)。 8、 求1!+2!+3!+…+n!的值(循环) 9、 判断一个整数是否为回文数(循环)。 10、 输入三个数,按从小到大的顺序输出(分支)。 11、 已知S=1-1/2+1/3-1/4+…-1/n,求解当n=100时的S值(循环、分支)。 12、 从控制台输入数字,输出类似以下的图形(循环)。输入4出现如下图形:

* ***

***** ******* ***** *** *

二、 数组类型题目

1、 将数组的元素前后交换。

2、 求4*4的矩阵的最大元素的位置,对角线元素的和。

3、 有一个已经排好序的数组。现输入一个数,要求按原来的规律插入原数组。 4、 将一个数组逆序输出。

5、 打印出杨辉三角形(要求打印出10行)

1 1 1

1 2 1 1 3 3 1 1 4 6 4 1 。。。。。。

6、 输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。 7、 数组中有n个整数,现使其前面各数顺序后移m个位置,最后m个数变成最前面

的m个数。

三、 类与对象

1、设计一个User类,其中包括用户名、口令等属性以及构造方法(至少重载2个)、获取和设置口令的方法、显示和修改用户名的方法等。编写应用程序测试User类。

2、定义一个Student类,其中包括学号、姓名、性别、出生年月等属性以及init( ) ——初始化各属性、display( )——显示各属性、modify( )——修改姓名等方法。实现并测试这个类。

3、从上题的Student类中派生出Graduate(研究生)类,添加属性:专业subject、导

师adviser。重载相应的成员方法。并测试这个类。

4、定义一个接口Inf,含有常量π和一个实现计算功能的方法calculate( ),再分别定义一个面积类area和一个周长类circumference,各自按计算圆面积和圆周长具体实现接口中的方法,并以半径为5来测试这两个类。

5、定义一个类,在main方法的try块中产生并抛出一个异常,在catch块中捕获异 常,并输出相应信息,同时加入finally子句,输出信息,证明它的无条件执行。

6、定义一个类Caculate实现10以内的整数加减法的计算。自定义一个异常类NumberRangeException,当试图进行超范围运算时,产生相应的信息。编写应用程序进行测试。

7、请按照以下要求设计一个学生类Student,并进行测试。 要求如下:

(1) Student类中包含姓名、成绩两个属性。

(2) 分别给这两个属性定义两个方法,一个方法用于设置值,另一个方法用于获取

值。

(3) Student类中定义一个无参的构造方法和一个接收两个参数的构造方法,两个参

数分别为姓名和成绩属性赋值。

(4) 在测试类中创建两个Student对象,一个使用无参的构造方法,然后调用方法

给姓名和成绩赋值,另一个使用有参的构造方法,在构造方法中给姓名和成绩赋值。

8、定义一个Father和Child类,并进行测试。

要求如下:(1)Father类为外部类,类中定义一个私有的String类型的属性name,name的值为“zhangsan”。(2)Child类为Father类的内部类,其中定义一个introFather()方法,方法中调用Father类的name属性。(3)定义一个测试类Test,在Test类的main()方法中,创建Child对象,并调用introFather()方法。 9、请按照以下要求设计类。 要求如下:

1) 设计Animal类。类中定义一个成员变量animalName,表示动物的名称,变量

animalName是String类型,默认初始值。在该类中再定义一个成员方法shout(),表示动物发出叫声的行为,该方法能输出名称为name的动物发出叫声,例如输出“波斯猫发出叫声”。

2) 设计Cat类。使用关键字extends继承Animal类。Cat类中定义一个public类型

的构造方法,该构造方法拥有一个String类型的参数catName,通过该参数,为Cat类中继承自Animal类的animalName成员变量赋值 3) 设计一个测试类。类名为ExtendsTest,在main方法中定义一个String类型的name

变量,并为它赋值为”波斯猫”,然后使用有参构造创建Cat类的对象,并使用对象的引用变量调用shout()方法。 10、 设计一个学生类Student和它的一个子类Undergraduate,要求如下:

(1) Student类有name(姓名)和age(年龄)属性,一个包含两个参数的构造

方法,用于给name和age属性赋值,一个show方法打印Student的属性信息。

(2) 本科生类Undergraduate增加一个degree(学位)属性。有一个包含三个参

数的构造方法,前两个参数用于给继承的name和age属性赋值,第三个参数给degree专业赋值,一个show()方法用于打印Undergraduate的属性信息。

(3) 在测试类中分别创建Student对象和Undergraduate对象,调用它们的show

()方法。

11、 设计一个Shape接口和它的两个实现类Square和Circle,要求如下:

(1) Shape接口中有一个抽象方法area(),方法接收一个double类型的参数,返

回一个double类型的结果。

(2) Square和Circle中实现了Shape接口的area()抽象方法,分别求正方形和圆

形的面积并返回。

(3) 在测试类中创建Circle和Square对象,计算半径为3的圆形面积和边长为2

的正方形面积。

12、 自定义一个异常类NoThisSongException和Player类,在Player的play()方法中

使用自定义异常,要求如下:

(1) NoThisSongException继承Exception类,类中有一个无参和一个接收一个

String类型参数的构造方法,构造方法中都使用super关键字调用父类的构造方法。

(2) Player类中定义一个play(int index)方法,方法接受一个int类型的参数,表

示播放歌曲的索引,当index>10时,play()方法用throw关键字抛出NoThisSongException异常,创建异常对象时,调用有参的构造方法,传入“您播放的歌曲不存在”。

(3) 在测试类中创建Player对象,并调用play()方法测试自定义的

NoThisSongException异常,使用try…catch语句捕获异常,调用NoThisSongException的getMessage()方法打印出异常信息。

四、 字符串与Java API

1、写一个控制台应用程序,接收一个长度大于3的字符串,完成下列功能: 1)输出字符串的长度。

2)输出字符串中第一个出现字母a的位置。 3)在字符串的第3个字符后面插入子串“hello”,输出新字符串。 4)将字符串“hello”替换为“me”,输出新字符串。

5)以字符“m”为分隔符,将字符串分离,并输出分离后的字符串。

2、编一个程序,定义一个字符串数组,输入若干国家名称(所有名称全用大

写或者全用小写),设计一个算法按字典顺序将这些国家名称进行排序。

3、编写一个程序,实现字符串大小写的转换并倒序输出,要求如下: (1)使用for循环将字符串,如“HelloWorld”从最后一个字符开始遍历; (2)遍历的当前字符如果是大写字符,就使用toLowerCase()方法将其转换为小写字符,反之则使用toUpperCase()方法将其转换为大写字符。

(3)定义一个StringBuffer对象,调用append()方法依次添加遍历的字符,最后调用StringBuffer对象的toString()方法,并将得到的结果输出。 五、 集合

1、请按照以下要求设计一个Example01类。 要求如下:

1)创建一个ArrayList集合alist,向集合中添加数据,获取集合中元素的个数并打印出第三个元素。

2)创建LinkedList集合link,并向link添加四个元素。

3)向link集合的第一个位置插入元素,移除该集合中第三个元素。

2、使用ArrayList集合,对其添加10个不同的元素,并使用Iterator遍历该集合。提示:

(1)使用add()方法将元素添加到ArrayList集合中。(2)调用集合的iterator()方法获得Iterator对象,并调用Iterator的hasNext()和next()方法,迭代出集合中的所有元素。

3、在HashSet集合中添加三个Person对象,把姓名相同的人当作同一个人,禁止重复添加。提示:Person类中定义name和age属性,重写hashCode()方法和equals()方法,针对Person类的name属性进行比较,如果name相同,hashCode()方法的返回值相同,equals()方法返回true。

4、选择合适的Map集合保存5位学员的学号和姓名,然后按学号的自然顺序的倒序将这些键值对一一打印出来。提示:(1)创建TreeMap集合。(2)使用put()方法将学号(“1”,”2”,”3”,”4”,”5”)和姓名(“Lucy”,”John”,”Smith”,”Aimee”,”Amanda”)存储到Map中,存的时候可以打乱顺序观察排序后的效果。(3)使用map.keySet()获取键的Set集合;(4)使用Set集合的iterator()方法获得Iterator对象用于迭代键。(5)使用Map集合的get()方法获取键所对应的值。 六、 IO

1、 编写一个application程序,分别用字节流和字符流拷贝一个文本文件,同时将复

制的内容显示在屏幕上。

2、 编写程序,读入文本文件的内容,统计出文件中的单词个数。

3、 应用FileInputStream类,编写应用程序,从磁盘上读取一个Java程序,并将源程

序代码显示在屏幕上。(被读取的文件路径为:E:/myjava/Hello.java)

4、 编写一个Java程序将当100,101,102,103,104,105个数以数组的形式写入到Dest.txt

文件中,并以相反的顺序读出显示在屏幕上。 5、 请按照以下要求设计ListFilesExample类。 要求如下:

(1) 该类能够实现遍历指定目录(例如E:\\ cn\\itcast\\chapter08)及其子目录下所

有文件,并输出所有文件名的功能

(2)该类定义一个无返回值的静态成员方法fileDir(File dir),方法中形参可以接收待遍历目录的java.io.File类型对象。使用File类中的listFiles()方法和isDirectory(),运用递归的方式实现所需功能,如果是目录时,继续递归遍历,如果是文件,输出文件的文件名。

(2) 该类main()方法中调用了fileDir(File dir)方法,传入待遍历目录的File类型实

参。

七、 图形界面编程

1、编写程序,在屏幕上显示带标题的窗口,并添加一个按钮。当用户单击按钮时,结束程序。

2、在窗体上产生一个单文本框和两个命令按纽:“显示”和“清除”。当用户单击“显示”按纽时,在文本框中显示“Java 程序”字样;单击“清除”按纽时清空文本框。

3、设计如下界面:

当用户输入了两个操作数并点击运算种类按纽后,在运算结果对应的文本框中显示运算结果。

4、请按照以下要求设计一个用户聊天界面 要求如下:

1)用Swing组件设计界面,创建类Swing

2)创建一个文本域,一个文本框,一个按钮(发送),文本框前有描述文字:“我要发言”。

3)文本域不可编辑,点击发送按钮可将文本框中的内容复制到文本域中 4)如果文本框中内容为空,提示“发送信息不能为空,请重新输入” 5、编写一个JFrame窗口,要求如下:

(1)在窗口的最上方放置一个JLabel标签,标签中默认的文本是“此处显示鼠标右键点击的坐标”。(2)为JFrame窗口添加一个鼠标事件,当鼠标右键点击窗口时,鼠标的坐标在JLabel标签中显示。

6、编写一个JFrame窗口,要求如下:

(1)在窗口的NORTH区域放置一个JPanel面板。 (2)JPanel面板中从左到右依次放置如下组件: JLabel标签,标签的文本为“兴趣”。

三个JCheckBox多选按钮,文本分别为“羽毛球”、“乒乓球“、“唱歌”。 JLabel标签,标签的文本为“性别”

两个JRadioButton按钮,文本分别为“男”“女“。

(3) 窗口的CENTER区域放置一个JScrollPane容器,容器中放置一个JTextArea

文本域。

(4) 当点击多选按钮和单选按钮时,会把选中按钮的文本显示在JTextArea文本

域中。

7、编写一个JFrame窗口,要求如下:

(1)窗口包含一个菜单栏和一个JLabel标签。

(2)菜单栏中有两个菜单,第一个菜单有两个菜单项,它们之间用分隔符分开,第二个菜单有一个菜单项。

(3)JLabel标签放置在窗口的中间(即BorderLayout.CENTER),当点击菜单项时,菜单项中的文本显示在JLabel标签中。

Java考试,上机考试,100分钟,5个编程题 1、 选择 循环 大约2个题,20分*2 2、 类:20分

3、 集合、IO、数组、字符串:20分 4、 GUI:图形编程,20分

实验报告纸质版 于 考试前由班长或学委收齐 交到主713办公室,空调旁的办公桌上。

本文来源:https://www.bwwdw.com/article/unlh.html

Top