java期末复习资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
结构化程序设计
1.编写程序输入任意的a,b,c系数,求一元二次方程的根双分支
2.JAVA 实现switch循环判断是星期几多分支
3.打印出100-999之间所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。循环程序
* 例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方
4.请编写程序,实现对数组{47,56,19,36,28,74,37} 的排序。数组又考循环提示:使用冒泡排序算法
5. 编写程序求斐波那契数列的前20项,要求5个数一行输出。方法调用,递归调用
提示:斐波那契数列数字排列规律为:1,1,2,3,5,8,13,21,34,55
面向对象程序设计
1.定义一个Father和Child类,并进行测试。
要求如下:
1)Father类为外部类,类中定义一个私有的String类型的属性name,name 的值为“liqiang”。
2)Child类为Father类的内部类,其中定义一个introFather()方法,方法中调用Father类的name属性。
3)定义一个测试类Test,在Test类的main()方法中,创建Child对象,并调用introFather ()方法。类和对象,继承
2.设计一个学生类Student和它的一个子类Undergraduate,要求如下:
1)Student类有name(姓名)、和age(年龄)属性,一个包含两个参数的构造方法,用于给name和age属性赋值,一个show()方法打印Student的属性信息
2)本科生类Undergraduate增加一个degree(学位)属性。有一个包含三个参数的构造方法,前两个参数用于给继承的name和age属性赋值,第三个参数给degree专业赋值,一个show()方法用于打印Undergraduate的属性信息。
封装
3. 设计一个Shape接口和它的两个实现类Square和Circle,要求如下:
1)Shape接口中有一个抽象方法area(),方法接收有一个double类型的参数,返回一个double类型的结果
2)Square和Circle中实现了Shape接口的area()抽象方法,分别求正方形和圆形的面积并返回
在测试类中创建Square和Circle对象,计算边长为2的正方形面积和半径为3的圆形面积。(Main函数写法为public static void Main ( string[] args ){} ) 接口
4自定义一个异常类NoThisSoundException和Player类,在Player的play()方法中使用自定义异常,要求入下:
1)NoThisSongException继承Exception类,类中有一个无参和一个接收一
个String类型参数的构造方法,构造方法中都使用super关键字调用父类的构造方法。
2)Player类中定义一个play(int index)方法,方法接收一个int类型的参
数,表示播放歌曲的索引,当index>10时,paly()方法用throw关键字抛出NoThisSongException异常,创建异常对象时,调用有参的构造方法,传入“您播放的歌曲不存在”。
3)在测试类中创建Player对象,并调用play()方法测试自定义的
NoThisSongException异常,使用try…catch语句捕获异常,调用NoThisSongException的getMessage()方法打印出异常信息。
异常
5. 模拟传智播客的三个老师同时分发80份学习笔记,每个老师相当于一个线程。
多线程
注意:java不像C中拥有scanf这样功能强大的函数,大多是通过定义输入输出流对象。常用的类有BufferedReader,Scanner。
例如:利用Scanner 实现从键盘读入integer或float 型数据
importjava.util.*;
Scanner in = new Scanner(System.in); //Scanner类
System.out.println("Please input a float number:");
float a = in.nextFloat(); //接收float数据
System.out.println("Please input a string: "); //这里试了一下输入String数据,但中间有空格就不能显示,Scanner类还不具有这功能
Scanner str = new Scanner(System.in);
System.out.println("The string is :" + str.next());
再例如:
public static void main(String [] args) {
Scanner sc = new Scanner(System.in);
System.out.println(“请输入你的姓名:”);
String name = sc.nextLine();
System.out.println(“请输入你的年龄:”);
int age = sc.nextInt();
System.out.println(“请输入你的工资:”);
float salary = sc.nextFloat();
System.out.println(“你的信息如下:”);
System.out.println(“姓名:”+name+“\n”+“年龄:”+age+“\n”+“工资:”+salary);