实验9 常用类
更新时间:2024-05-09 23:20:02 阅读量: 综合文库 文档下载
- 汇编语言实验9推荐度:
- 相关推荐
实验9 常用类
一、实验目的
1.掌握String类的基本构造方法和常用方法的使用;
2.熟悉StringBuffer类的追加、插入、查找、替换、删除等操作; 3.熟悉Math类常量及常用方法的调用;
4.熟悉包装类的功能、重要属性、主要构造器和常用方法; 5.熟悉Date类的主要构造方法和常用方法,明白其不足之处;
6.熟悉GregorianCalendar类的主要构造方法、常用方法,能够正确地创建日历对象、输出日期对象对应的分量及计算两个日期的间隔;
7.熟悉SimpleDateFormat类的主要构造方法、常用方法,掌握格式化输出日期的方法与步骤; 8.熟悉API文档的使用,能够查阅包中类、接口、枚举、异常的相关信息; 9.了解StringTokenizer类的一般使用。
二、 实验内容与步骤
1.运行下列程序,并回答问题:
//字符串的比较
public class StringCompare { }
public static void main(String args[]) { }
String s1 = \; String s2 = \;
String s3 = new String(\); String s4 = new String(\);
System.out.println(\ + (s1 == s2)); System.out.println(\ + (s1 == s3)); System.out.println(\ + (s3 == s4));
System.out.println(\ + s1.equals(s2)); System.out.println(\ + s1.equals(s3)); System.out.println(\ + s3.equals(s4)); System.out.println(\ + s1.compareTo(s3));
问题:
(1) 对于String对象来说,“==”运算符与equals( )方法的功能有什么不同? (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.println(\字符串的长度: \ + ______________); // 输出字符串的长度 System.out.println(\字符串的首字符: \ + ___________);// 输出字符串的首字符 // 输出字符串的最后一个字符
System.out.println(\字符串的最后一个字符: \ + str.charAt(str.length() - 1)); // 输出字符'@'的索引号(即下标)
System.out.println(\字符\\'@\\'的索引号(即下标): \ + _______________); // 输出最后一个点号(.)的索引号(即下标)
System.out.println(\最后一个点号(.)的索引号(即下标): \ + str.lastIndexOf('.')); // 输出该邮箱的用户名(即第一个单词)
System.out.println(\该邮箱的用户名(即第一个单词): \
+ str.substring(0, str.indexOf('@')));
// 输出该邮箱的顶级域名(即最后一个单词)
System.out.println(\该邮箱的顶级域名(即最后一个单词): \ + __________________); // 字符串全部以大写方式输出
System.out.println(\字符串全部以大写方式输出为: \ + ____________________); // 字符串全部以小写方式输出
System.out.println(\字符串全部以小写方式输出为: \ + str.toLowerCase());
(小技巧:如果某一行的内容不会填写,可用//将该行内容注释掉,从面不影响整个程序的运行)
3.根据程序注释,将所缺代码补充完整,再运行程序::
//StringBuffer的增加、删除和修改 public class StringBufferTest {
public static void main(String args[]) {
}
}
char ch[]={'2','0','0','8','年'};
// 创建一个以\北京奥运会开幕时间:\为参数的StringBuffer对象 StringBuffer sb=________________;
______________; // 在sb尾部追加\月8日晚8点\字符串 sb.insert(_____,______);
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());
// 在sb头部插入字符数组ch的内容
System.out.println(\字符串内容为: \+sb.toString());
4. 运行下列程序,从中体会Math类中静态变量、静态方法的用法:
//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(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 class 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(\当前日期晚于新日期: \+now.after(newDate));
System.out.println(\当前时间距离GMT 1970.1.1 00:00:00的毫秒数: \+_______);
问题:
(1)Date类中的时间间隔是以什么为单位来计算的? (2)Date类的getTime()方法的功能是什么? (3)解释程序中 新日期newDate 的输出结果。
8.利用GregorianCalendar的get()方法输出系统的当前时间,输出格式:
9.分析、运行下列程序,从中体会格式化输出日期的用法,并回答相关问题:
//SimpleDateFormatTest类的使用 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.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)); // 转换为天数 // 剩余的转换为\总秒数\并考虑\四舍五入\ long totalSeconds = Math
.round((distance % (24 * 60 * 60 * 1000)) / 1000.0 + 0.5);
北京时间:xxxx年xx月xx日xx时xx分xx秒。
int hh = (int) (totalSeconds / (60 * 60)); // 转换成小时数
}
}
int mm = (int) ((totalSeconds % (60 * 60)) / 60); // 转换成分钟数 int ss = (int) ((totalSeconds % (60 * 60)) % 60); // 转换成秒钟数
System.out.println(\距离2012年伦敦奥运会开幕式还有:\ + days + \天\ + hh + \时\ + mm
+ \分\ + ss + \秒\);
问题:
(1)SimpleDateFormat类的功能是什么?
(2)SimpleDateFormat类的主要字符串模式有哪些? (3)用SimpleDateFormat类格式化输出日期的步骤是什么? (4)如何计算两个日期相隔的时间长度?
10.(选做题)编写一个Java程序,具备如下功能:
(1)利用输入框一次性输入多名学生的成绩(为整数),成绩间用空格或逗号隔开; (2)计算学生的平均成绩,通过消息框输出。
(提示:利用StringTokenizer类将字符串中的成绩分离出来,之后将它们存放到字符串数组中,再转化成int型数值,计算平均成绩并输出结果。)
正在阅读:
实验9 常用类05-09
锅炉考试试卷9-答案10-06
辅导员职业技能大赛题目10-22
最新部编人教版二年级语文下册各单元复习资料(全册-共8个单元)10-22
企业成本费用内部控制存在地问题和对策01-13
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 常用
- 实验
- 辽师版小学品德与社会五年级下册教案 全册 - 图文
- 2015年县级政府履行教育职责情况汇报综述
- 流体力学例题及思考题-第二章
- 汽车发动机构造与维修总复习题与答案 (DOC) - 图文
- 《高等数学》不定积分课后习题详解
- 步进电动机单片机课程设计
- 《数控机床编程与操作》指导书
- 发明专利信息管理系统
- 区财政局领导班子民主生活会发言稿
- 0的认识和有关0的加减法教案
- DNV挪威船级社规范2003版 中文 4.6-管系
- 道德讲堂感恩父母 孝行天下
- 金融隐私权法律问题研究
- 2011届高三文科数学模拟试卷2
- 刍 谈 辽 阳 地 名
- 地球构造运动期
- 2013年畜牧、水产试题
- 国际经济学专题研讨-华中科技大学研究生院
- 精达股份有限公司财务报表分析
- 社区护理总复习题