收藏 分销(赏)

Java复习题目.doc

上传人:仙人****88 文档编号:11397981 上传时间:2025-07-21 格式:DOC 页数:7 大小:345.04KB 下载积分:10 金币
下载 相关
Java复习题目.doc_第1页
第1页 / 共7页
Java复习题目.doc_第2页
第2页 / 共7页


点击查看更多>>
资源描述
Java复习题目: 一、 基本语法与逻辑类型题目(1题,20分,送分) 1、 输出九九乘法表(双重循环)。 2、 输出100以内的全部素数(循环、分支) 3、 编程求全部三位数中的素数之和。(循环、分支) 4、 输出Fibonacci数列的前20个数(递推、递归)。 5、 打印出所有的三位水仙花数。 6、 将学生的百分制成绩,换算为五分制成绩(分支)。 7、 从键盘输入2个长整数和一个运算符,进行加或减运算,输出运算结果。(输入输出) 8、 编写一个Java程序,用if-else语句判断某年份是否为闰年。(四年一闰,百年不闰,一百年再闰) 9、 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数(字符串)。 10、 求1!+2!+3!+…+n!的值(循环) 11、 判断一个整数是否为回文数(循环)。 12、 输入三个数,按从小到大的顺序输出(分支)。 13、 已知S=1-1/2+1/3-1/4+…-1/n,求解当n=100时的S值(循环、分支)。 14、 从控制台输入数字,输出类似以下的图形(循环)。输入4出现如下图形: * *** ***** ******* ***** *** * 14、利用二维数组或不规则数组,打印出以下的三角形(要求打印出10行) 1 2 2 3 4 3 4 7 7 4 5 11 14 11 5 .................... 二、 数组类型题目 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题,20分) 1、设计一个User类,其中包括用户名、口令等属性以及构造方法(至少重载2个)、获取和设置口令的方法、显示和修改用户名的方法等。编写应用程序测试User类。 2、定义一个Student类,其中包括学号、姓名、性别、出生年月等属性以及init( ) ——初始化各属性、display( )——显示各属性、modify( )——修改姓名等方法。实现并测试这个类。 3、从上题的Student类中派生出Graduate(研究生)类,添加属性:专业subject、导 师adviser。重载相应的成员方法。并测试这个类。 4、定义一个接口Inf,含有常量π和一个实现计算功能的方法calculate( ),再分别定义一个面积类area和一个周长类circumference,各自按计算圆面积和圆周长具体实现接口中的方法,并以半径为5来测试这两个类。 5、定义一个类,在main方法的try块中产生并抛出行测试。 要求如下: (1) Student类中包含姓名、成绩两个属性。 分别给这两个属性定义两个方法,一个方法用于设置值,另一个方法用于获取值。一个异常,在catch块中捕获异 常,并输出相应信息,同时加入finally子句,输出信息,证明它的无条件执行。 6、定义一个类Caculate实现10以内的整数加减法的计算。自定义一个异常类NumberRangeException,当试图进行超范围运算时,产生相应的信息。编写应用程序进行测试。 (2) 7、请按照以下要求设计一个学生类Student,并进 (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()方法打印出异常信息。 13(来自2015春考题)、1)创建一个抽象类Animal,有属性Name,在构造函数中设置该属性的值,有抽象方法catchMouse( )。 2) 从Animal继承一个名为Dog的新类,实现其父类的catchMouse()方法(只需简单输出一行说明即可)。 3)从Animal继承另一个名为Cat的新类,实现其父类的catchMouse()方法(该方法并不直接捕鼠,而是委托给某Dog来捕鼠)。 4)在主类的Main方法中创建类Dog的一个对象,设置其Name为“ZangAo”;创建类Cat的一个对象,设置其Name为”JiaFeiMao”,并让该cat对象委托“ZangAo”对象去捕鼠。写出运行程序后输出的结果。 注意:catchMouse()方法的参数形式和是否需要重载,请根据题意自行补充。 14、(1)编写一个圆类Circle,该类拥有: ①一个成员变量 Radius(私有,浮点型); // 存放圆的半径; ②两个构造方法 Circle( ) // 将半径设为0 Circle(double r ) //创建Circle对象时将半径初始化为r ③ 三个成员方法 double getArea( ) //获取圆的面积 double getPerimeter( ) //获取圆的周长 void show( ) //将圆的半径、周长、面积输出到屏幕 (2)编写一个圆柱体类Cylinder,它继承于上面的Circle类。还拥有: ①一个成员变量 double hight(私有,浮点型); // 圆柱体的高; ②构造方法 Cylinder (double r, double h ) //创建Circle对象时将半径初始化为r ③ 成员方法 double getVolume( ) //获取圆柱体的体积 void showVolume( ) //将圆柱体的体积输出到屏幕 编写应用程序,创建类的对象,分别设置圆的半径、圆柱体的高,计算并分别显示圆半径、圆面积、圆周长,圆柱体的体积。 四、 字符串与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题,20分,常用集合的增删改查) 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()方法获取键所对应的值。 5、(来自2015春考题)使用ArrayList类型的集合, 1) 对其添加5个不同的国家名称(如China,USA,Japan,India,Russia), 2) 将集合中的全部元素,放入另一个HashSet类型的集合中, 并使用Iterator遍历输出该HashSet集合。 六、 IO(文件读写) 1、 编写一个application程序,分别用字节流和字符流拷贝一个文本文件,同时将复制的内容显示在屏幕上。 2、 编写程序,读入文本文件的内容,统计出文件中的单词个数。 3、 应用FileInputStream类,编写应用程序,从磁盘上读取一个Java程序,并将源程序代码显示在屏幕上。(被读取的文件路径为:E:/myjava/Hello.java) 4、 1)编写Student类,有id、name、age属性和构造函数、introduce(String id,String name,int age)方法及其他必要的方法; 2)在Main类的main方法中创建两个Student对象,并依次写入students.dat文件; 3)从students.dat文件中读出这两个Student对象,并让其执行introduce做自我介绍。 5、 编写一个Java程序将当100,101,102,103,104,105个数以数组的形式写入到Dest.txt文件中,并以相反的顺序读出显示在屏幕上。 6、 请按照以下要求设计ListFilesExample类。 要求如下: (1) 该类能够实现遍历指定目录(例如E:\ cn\itcast\chapter08)及其子目录下所有文件,并输出所有文件名的功能 (2)该类定义一个无返回值的静态成员方法fileDir(File dir),方法中形参可以接收待遍历目录的java.io.File类型对象。使用File类中的listFiles()方法和isDirectory(),运用递归的方式实现所需功能,如果是目录时,继续递归遍历,如果是文件,输出文件的文件名。 (2) 该类main()方法中调用了fileDir(File dir)方法,传入待遍历目录的File类型实参。 七、 图形界面编程(1题,20分) 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)弹出式菜单有三个菜单项:红色,绿色,蓝色。 4)JLabel标签放置在窗口的中间(即BorderLayout.CENTER),当点击菜单项时,菜单项中的文本显示在JLabel标签中。 5)当在窗口中右键单击时,弹出式菜单打开,当点击三种颜色的菜单时,将窗口的背景色设置为对应的颜色。 8、(来自2015春考题)编写一个GUI程序,运行界面参考如下图。功能: (1)当点击“读入文件”菜单时,程序会读入E:\reader.txt 文件的内容,并放入窗体中间的JTextArea控件中显示。 (2)当点击“退出”或右上方的关闭按钮时,会关闭程序。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服