abstract class Printer{ private String printerType; Printer(String printerType){ this.printerType=printerType; } abstract void print(String txt); void showMyType(){ System.out.println(\} } abstract class InkPrinter extends Printer{ InkPrinter(String inkPrinterType) { super(inkPrinterType); } void print(String txt) { System.out.println(\System.out.println(\} } class LasertPrinter extends Printer{ LasertPrinter(String laserPrinterType) { super(laserPrinterType); } void print(String txt) { System.out.println(\System.out.println(\} } 思考与练习 (1) 自行设计并编写代码演示面向对象的三大特性 (2) 练习抽象类的使用 (3) 练习接口的使用 实 验 教 案
课题(项目)名称: 字符串类常用方法应用 计划学时: 4 实验类型: 1.验证性或基础性□ 2.综合性□ 3.设计性□ 4.创新性和研究型□ 授课日期: 年 月 日 第 周 星期 第 节 实验目的 1.掌握Data类,Calendar类,Math类,String类和StringBuffer类的使用。 实验要求 1. Data类。 2. Calendar类。 3. 掌握Math类的使用。 4. 掌握String类和StringBuffer类的使用 实验内容与步骤 1.Data类的使用 在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理。这里简单介绍一下Date类的使用。 (1)使用Date类代表当前系统时间 Date d = new Date(); System.out.println(d); 使用Date类的默认构造方法创建出的对象就代表当前时间,由于Date类覆盖了toString方法,所以可以直接输出Date类型的对象,显示的结果如下: Sun Mar 08 16:35:58 CST 2009 在该格式中,Sun代表Sunday(周日),Mar代表March(三月),08代表8号,CST代表China Standard Time(中国标准时间,也就是北京时间(东八区))。 (2)使用Date类代表指定的时间 Date d1 = new Date(2009-1900,3-1,9); System.out.println(d1); 使用带参数的构造方法,可以构造指定日期的Date类对象,Date类中年份的参数应该是实际需要代表的年份减去1900,实际需要代表的月份减去1以后的值。例如上面的示例代码代表就是2009年3月9号。 实际代表具体的年月日时分秒的日期对象,和这个类似。 (3)获得Date对象中的信息 Date d2 = new Date(); //年份 int year = d2.getYear() + 1900; //月份 int month = d2.getMonth() + 1; //日期 int date = d2.getDate(); //小时 int hour = d2.getHours(); //分钟 int minute = d2.getMinutes();
//秒 int second = d2.getSeconds(); //星期几 int day = d2.getDay(); System.out.println(\年份:\ System.out.println(\月份:\ System.out.println(\日期:\ System.out.println(\小时:\ System.out.println(\分钟:\ System.out.println(\秒:\ System.out.println(\星期:\ 使用Date类中对应的get方法,可以获得Date类对象中相关的信息,需要注意的是使用getYear获得是Date对象中年份减去1900以后的值,所以需要显示对应的年份则需要在返回值的基础上加上1900,月份类似。在Date类中还提供了getDay方法,用于获得Date对象代表的时间是星期几,Date类规定周日是0,周一是1,周二是2,后续的依次类推。 2. Calendar类 (1)计算两个日期之间相差的天数 例如计算2010年4月1号和2009年3月11号之间相差的天数,则可以使用时间和日期处理进行计算。 该程序实现的原理为:首先代表两个特定的时间点,这里使用Calendar的对象进行代表,然后将两个时间点转换为对应的相对时间,求两个时间点相对时间的差值,然后除以1天的毫秒数(24小时X60分钟X60秒X1000毫秒)即可获得对应的天数。实现该示例的完整代码如下: import java.util.*; /** * 计算两个日期之间相差的天数 */ public class DateExample1 { public static void main(String[] args) { //设置两个日期 //日期:2009年3月11号 Calendar c1 = Calendar.getInstance(); c1.set(2009, 3 - 1, 11); //日期:2010年4月1号 Calendar c2 = Calendar.getInstance(); c2.set(2010, 4 - 1, 1); //转换为相对时间 long t1 = c1.getTimeInMillis(); long t2 = c2.getTimeInMillis(); //计算天数 long days = (t2 - t1)/(24 * 60 * 60 * 1000); System.out.println(days); } } 3. Math类的使用
(1)利用下面的关键代码编写一个完整的程序KY6_4.java,理解Math类的使用。 System.out.println (Math.abs (-5.8)); System.out.println (Math.ceil (3.2)); System.out.println (Math.floor (3.8)) System.out.println (Math.round (3.8)); System.out.println (Math.round (3.2)); System.out.println (Math.min (3, 2)); System.out.println (Math.max (Math.PI, 4)); System.out.println (Math.log (7.0)); System.out.println (Math.pow (7,2)); System.out.println (Math.exp (0.4)); System.out.println (\ System.out.println (\π is:\ System.out.println(Math.random()); (2)将程序的运行结果写在实验报告中。 4. String类与StringBuffer类的使用 (1)利用下面的关键代码编写一个完整的程序KY6_5.java,理解String类与StringBuffer类的使用。 String s=new String(\ System.out.println(\ System.out.println(\ StringBuffer sf=new StringBuffer(\ sf.append(\ sf.insert(12,\ System.out.println(sf); System.out.println(sf.charAt(0)); sf.setCharAt(0,''h''); System.out.println(sf.charAt(0)); System.out.println(sf); (2)将程序的运行结果写在实验报告中。 思考与练习 1. 算术运算应该使用什么类? 2. Java语言中如何表示字符串? 实 验 教 案
课题(项目)名称: 输入输出流应用 计划学时: 4 实验类型: 1.验证性或基础性□ 2.综合性□ 3.设计性□ 4.创新性和研究型□ 授课日期: 年 月 日 第 周 星期 第 节 实验目的 1. 理解I/O流的概念,掌握其分类。 2. 掌握文本文件读写、二进制文件读写。 实验要求 1. 掌握FileReader类 、FileWriter类的使用。 2. 掌握BufferedWriter类 、BufferedWriter类的使用。 实验内容与步骤 1. 使用标准数据流的应用程序 标准数据流指在字符方式下(如DOS 提示符)程序与系统进行输入输出的方式,键盘和显示器屏幕是标准输入输出设备,数据输入的起点为键盘,数据输出的终点是屏幕,输出的数据可以在屏幕上显示出来。 (1)程序功能:将键盘上输入的字符在屏幕上显示出来。 (2)编写LX5_3.java 程序文件,源代码如下。 class LX5_3{ public static void main(String[] args) throws java.io.IOException { byte buffer[]=new byte[10]; System.out.println(\从键盘输入不超过10 个字符,按回车键结束输入:\int count =System.in.read(buffer);//读取输入的字符并存放在缓冲区buffer 中 System.out.println(\保存在缓冲区buffer 中元素的个数为:\System.out.println(\中各元素的值为:\for (int i=0;i