收藏 分享(赏)

实验9 常用类.doc

上传人:ysd1539 文档编号:6367703 上传时间:2019-04-09 格式:DOC 页数:5 大小:131KB
下载 相关 举报
实验9 常用类.doc_第1页
第1页 / 共5页
实验9 常用类.doc_第2页
第2页 / 共5页
实验9 常用类.doc_第3页
第3页 / 共5页
实验9 常用类.doc_第4页
第4页 / 共5页
实验9 常用类.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、实验 9 常用类一、实验目的1掌握 String类的基本构造方法和常用方法的使用;2熟悉 StringBuffer类的追加、插入、查找、替换、删除等操作;3熟悉 Math类常量及常用方法的调用;4熟悉包装类的功能、重要属性、主要构造器和常用方法;5熟悉 Date类的主要构造方法和常用方法,明白其不足之处;6熟悉 GregorianCalendar类的主要构造方法、常用方法,能够正确地创建日历对象、输出日期对象对应的分量及计算两个日期的间隔;7熟悉 SimpleDateFormat类的主要构造方法、常用方法,掌握格式化输出日期的方法与步骤;8熟悉 API文档的使用,能够查阅包中类、接口、枚举、异

2、常的相关信息;9了解 StringTokenizer类的一般使用。二、 实验内容与步骤1运行下列程序,并回答问题:/字符串的比较public class StringCompare public static void main(String args) String s1 = “abc“;String s2 = “abc“;String s3 = new String(“abc“);String s4 = new String(“abc“);System.out.println(“s1=s2?: “ + (s1 = s2);System.out.println(“s1=s3?: “ + (s

3、1 = s3);System.out.println(“s3=s4?: “ + (s3 = s4);System.out.println(“s1.equals(s2)?:“ + s1.equals(s2);System.out.println(“s1.equals(s3)?:“ + s1.equals(s3);System.out.println(“s3.equals(s4)?:“ + s3.equals(s4);System.out.println(“s1.equals(s3)?:“ + pareTo(s3);问题:(1) 对于 String 对象来说,“=”运算符与 equals( )方法

4、的功能有什么不同?(2) s1 和 s2 是否指向同一对象?为什么?(3) s3 和 s4 是否指向同一对象?为什么?(4) s1=s3 是否成立?为什么?(5) s1、s2、s3 、s4 的内容是否相同?(5) compareTo( )方法的功能是什么?当比较结果分别为 负数、正数、0 时,代表什么含义?2根据程序注释,将所缺代码补充完整,然后运行程序:/String类的使用public class StringTest public static void main(String args) / 创建一个以““为参数的String对象String str = _;System.out.pr

5、intln(“字符串的长度: “ + _); / 输出字符串的长度System.out.println(“字符串的首字符: “ + _);/ 输出字符串的首字符/ 输出字符串的最后一个字符System.out.println(“字符串的最后一个字符: “ + str.charAt(str.length() - 1);/ 输出字符 的索引号(即下标)System.out.println(“字符的索引号(即下标): “ + _);/ 输出最后一个点号(.)的索引号(即下标)System.out.println(“最后一个点号(.) 的索引号(即下标): “ + str.lastIndexOf(.)

6、;/ 输出该邮箱的用户名(即第一个单词)System.out.println(“该邮箱的用户名(即第一个单词): “+ str.substring(0, str.indexOf();/ 输出该邮箱的顶级域名(即最后一个单词)System.out.println(“该邮箱的顶级域名(即最后一个单词): “ + _);/ 字符串全部以大写方式输出System.out.println(“字符串全部以大写方式输出为: “ + _);/ 字符串全部以小写方式输出System.out.println(“字符串全部以小写方式输出为: “ + str.toLowerCase();(小技巧:如果某一行的内容不会

7、填写,可用/ 将该行内容注释掉,从面不影响整个程序的运行)3根据程序注释,将所缺代码补充完整,再运行程序:/StringBuffer的增加、删除和修改public class StringBufferTest public static void main(String args) char ch=2,0,0,8,年;/ 创建一个以 “北京奥运会开幕时间:“为参数的StringBuffer对象StringBuffer sb=_; _; / 在sb尾部追加“8月8日晚8 点“ 字符串sb.insert(_,_); / 在sb头部插入字符数组ch的内容System.out.println(“字符串

8、内容为: “+sb.toString();int n=sb.indexOf(“北京“);sb.replace(n,_,“第29届“); / 将字符串中“北京“替换为“第29届“System.out.println(“替换后,得到的字符串内容为: “+sb.toString();System.out.println(“字符串的长度为: “+_);/ 输出字符串的长度sb.delete(_,18); / 删除字符串中从第6个字符开始到第18个字符为止的内容System.out.println(“删除字符串后,得到的字符串内容为: “+sb.toString();4. 运行下列程序,从中体会Math

9、类中静态变量、静态方法的用法:/Math类的使用public class MathTest public static void main(String args) System.out.println(Math.E);System.out.println(Math.PI);System.out.println(Math.exp(2);System.out.println(Math.random();System.out.println(Math.sqrt(10.0);System.out.println(Math.pow(2, 3);System.out.println(Math.round

10、(99.4);System.out.println(Math.abs(-8.88);5(提高题)编写一个程序,从编号为1-50的学生中随机产生一等奖1名、二等奖2 名、三等奖3名,任何一个学生不能重复中奖,抽奖顺序是:先抽三等奖,再抽二等奖,最后抽一等奖。6编写 Calculator.java 程序,实现功能:从命令行输入两个操作数和运算符,参数格式为:操作数 1 运算符 操作数 2,其中:两个操作数为 double类型,运算符为:+、-、*、/中的一个,程序输出运算结果。7分析、填充、运行下列程序,并回答相关问题:/Date类的使用import java.util.Date;public c

11、lass DateTest public static void main(String args)_; / 创建一个日期对象now,以记录系统当前时间System.out.println(“当前日期: “+_);/ 输出now 对象的内容Date newDate=new Date(5000000); / 距离GMT 1970.1.1 0:0:0的间隔为5000秒System.out.println(“新的日期: “+newDate);System.out.println(“当前日期早于新日期: “+now.before(newDate);System.out.println(“当前日期晚于新

12、日期: “+now.after(newDate);System.out.println(“当前时间距离GMT 1970.1.1 00:00:00的毫秒数: “+_);问题:(1)Date类中的时间间隔是以什么为单位来计算的?(2)Date类的 getTime()方法的功能是什么?(3)解释程序中 新日期 newDate 的输出结果。8利用 GregorianCalendar 的 get()方法输出系统的当前时间,输出格式:北京时间:xxxx 年 xx 月 xx 日 xx 时 xx 分 xx 秒。9分析、运行下列程序,从中体会格式化输出日期的用法,并回答相关问题:/SimpleDateForma

13、tTest类的使用import java.util.*;import java.text.*;public class SimpleDateFormatTest public static void main(String args) Calendar now = new GregorianCalendar();SimpleDateFormat formatter = new SimpleDateFormat();formatter.applyPattern(“现在时间: yyyy年MM 月dd日HH时mm 分ss秒 E“);String str = formatter.format(now.

14、getTime();System.out.println(str);/伦敦奥运会的开幕时间是2012年7月27 日20时12分,即是北京时间:2012 年7月28日3时12 分Calendar london2012 = new GregorianCalendar(2012, 6, 28, 3, 12, 0);/ 得到两个时间相差的毫秒数long distance = london2012.getTimeInMillis() - now.getTimeInMillis();int days = (int) (distance / (24 * 60 * 60 * 1000); / 转换为天数/ 剩

15、余的转换为“总秒数“,并考虑“四舍五入“long totalSeconds = Math.round(distance % (24 * 60 * 60 * 1000) / 1000.0 + 0.5);int hh = (int) (totalSeconds / (60 * 60); / 转换成小时数int mm = (int) (totalSeconds % (60 * 60) / 60); / 转换成分钟数int ss = (int) (totalSeconds % (60 * 60) % 60); / 转换成秒钟数System.out.println(“距离2012 年伦敦奥运会开幕式还有

16、:“ + days + “天“ + hh + “时“ + mm+ “分“ + ss + “秒“);问题:(1)SimpleDateFormat类的功能是什么?(2)SimpleDateFormat类的主要字符串模式有哪些?(3)用 SimpleDateFormat类格式化输出日期的步骤是什么?(4)如何计算两个日期相隔的时间长度?10(选做题)编写一个 Java程序,具备如下功能:(1)利用输入框一次性输入多名学生的成绩(为整数),成绩间用空格或逗号隔开;(2)计算学生的平均成绩,通过消息框输出。(提示:利用 StringTokenizer类将字符串中的成绩分离出来,之后将它们存放到字符串数组中,再转化成 int型数值,计算平均成绩并输出结果。)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 中学实验

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报