实验一 Java常用工具类编程Word文档下载推荐.docx
- 文档编号:19022954
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:17
- 大小:53.42KB
实验一 Java常用工具类编程Word文档下载推荐.docx
《实验一 Java常用工具类编程Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《实验一 Java常用工具类编程Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。
,"
Strings2="
c++.java.vb"
c++.java.vbdotnet"
String[]str=s2.split("
\\.|"
for(inti=0;
i<
str.length;
i++)
System.out.println(str[i]);
2、StringBuffer类
StringBuffer
publicStringBuffer()
构造一个不包含字符的字符串缓冲区,其初始的容量设为16个字符。
publicStringBuffer(intlength):
构造一个不包含字符的字符串缓冲区,其初始的容量由参数length设置。
publicStringBuffer(Stringstr):
构造一个字符串缓冲区,来表示和字符串参数相同的字符序列。
length
publicintlength():
返回字符串缓冲区的长度(字符数)。
capacity
publicintcapacity():
返回字符串缓冲区的当前容量。
该容量表示可用于插入新的字符的存储空间;
超出该容量时会发生新的容量分配。
ensureCapacity
publicsynchronizedvoidensureCapacity(intminimumCapacity):
保证缓冲区的容量至少等于指定的最小数。
如果字符串缓冲区的当前容量少于该参数,则分配一个新的更大的内部缓冲区。
新容量将取如下参数中较大的一个:
setLength
publicsynchronizedvoidsetLength(intnewLength):
设置该字符串缓冲区的长度。
如果参数newLength小于该字符串缓冲区的当前长度。
该字符串缓冲区将被截断来包含恰好等于由参数newLength给出的字符数。
append
publicsynchronizedStringBufferappend(Objectobj):
把Object型参数的字符串表示添加到该字符串缓冲区。
StringBufferx=newStringBuffer().append("
a"
).append(4).append("
c"
).toString();
insert
publicsynchronizedStringBufferinsert(intoffset,Objectobj):
把Object型参数的字符串表示插入到字符串缓冲区。
reverse
publicsynchronizedStringBufferreverse():
该字符串缓冲区的字符序列被其反向字符序列所替换。
toString
publicStringtoString():
转换为一个表示该字符串缓冲区数据的字符串。
分配一个新的String对象,并且用字符串缓冲区所表示的字符序列进行初始化。
于是此String被返回。
随后缓冲区发生的变化不再影响该String的内容。
3、日期类示例
1)获取服务器端当前日期:
importjava.util.Date;
DatemyDate=newDate();
2)获取当前年、月、日:
DatemyDate=newDate();
intthisYear=myDate.getYear()+1900;
//thisYear=2009
intthisMonth=myDate.getMonth()+1;
//thisMonth=10
intthisDate=myDate.getDate();
//thisDate=30
3)按本地时区输出当前日期
out.println(myDate.toLocaleString());
输出结果为:
2003-5-30
4)按照指定格式打印日期
importjava.util.Date;
importjava.text.DateFormat;
DatedNow=newDate();
SimpleDateFormatformatter=
newSimpleDateFormat("
Eyyyy.MM.dd'
at'
hh:
mm:
ssazzz"
System.out.println("
Itis"
+formatter.format(dNow));
输出的结果为:
Itis星期五2003.05.30at11:
30:
46上午CST
5)将字符串转换为日期
Stringinput="
1222-11-11"
SimpleDateFormatformatter=newSimpleDateFormat("
yyyy-MM-dd"
Datet=null;
try{
t=formatter.parse(input);
System.out.println(t);
}catch(ParseExceptione){
System.out.println("
unparseableusing"
+formatter);
}
FriNov1100:
00:
00CST1222
6)计算日期之间的间隔getTime()函数返回日期与1900-01-0100:
00相差的毫秒数
Importjava.util.Date;
2003-05-01"
Dated1=null;
Dated2=newDate();
longdiff=d2.getTime()-d1.getTime();
out.println("
Differenceis"
+(diff/(1000*60*60*24))+"
days."
Differenceis29days.
7)日期的加减运算
方法:
用Calendar类的add()方法
Calendarnow=Calendar.getInstance();
Itisnow"
+formatter.format(now.getTime()));
now.add(Calendar.DAY_OF_YEAR,-(365*2));
<
br>
"
Twoyearsagowas"
Itisnow星期五2003.05.30at01:
45:
32下午CST
Twoyearsagowas星期三2001.05.30at01:
8)比较日期
用equals()、before()、after()方法
DateFormatdf=newSimpleDateFormat("
yyy-MM-dd"
Dated1=df.parse("
2000-01-01"
Dated2=df.parse("
1999-12-31"
Stringrelation=null;
if(d1.equals(d2))
relation="
thesamedateas"
elseif(d1.before(d2))
before"
else
after"
System.out.println(d1+"
is"
+relation+'
'
+d2);
SatJan0100:
00CST2000isafterFriDec3100:
00CST1999
1.2实验题目
1、使用类String类的分割split将字符串“SolutionstoselectedexercisescanbefoundintheelectronicdocumentTheThinkinginJavaAnnotatedSolutionGuide,availableforasmallfeefromBruceEckel”单词提取输出。
单词以空格或,分割。
参照课本P10例2.5
运行代码:
packageEX1_1;
publicclassEX1_1{
publicstaticvoidmain(String[]args){
Stringstr1=newString("
SolutionstoselectedexercisescanbefoundintheelectronicdocumentTheThinkinginJavaAnnotatedSolutionGuide,availableforasmallfeefromBruceEckel"
String[]str2=str1.split("
|,"
for(inti=0;
str2.length;
System.out.println(str2[i]);
}
运行截图:
2、调试p14例2.8,将程序加上注释。
packageEX1_2;
publicclassEX1_2{
publicstaticvoidstringRepalce(Stringtext){
text=text.replace('
j'
'
i'
//替换函数把j替换成i
publicstaticvoidbufferRepalce(StringBuffertext){
text=text.append("
EE"
//把Object型参数的字符串表示添加到该字符串缓冲区
}
Stringts=newString("
//字符型
StringBuffertb=newStringBuffer("
//StringBuffer型
stringRepalce(ts);
//调用函数
bufferRepalce(tb);
System.out.println(ts+"
"
+tb);
//打印输出
}}
stringRepalce函数中传进来的只是形参,是对原值的拷贝,原值不改变。
bufferRepalce函数是对字符串缓冲区进行修改,是对原值的修改,故发生改变。
3、调试p15例2.10,将程序加上注释。
packageEX1_3;
importjava.text.SimpleDateFormat;
publicclassEX1_3{
SimpleDateFormatformat1=newSimpleDateFormat("
yyyy年MM月dd日HH时mm分ss秒"
//SimpleDateFormat指定格式输出
SimpleDateFormatformat2=newSimpleDateFormat("
yy/MM/dd/HH:
mm"
SimpleDateFormatformat3=newSimpleDateFormat("
yyyy-MM-ddHH:
ss"
SimpleDateFormatformat4=newSimpleDateFormat("
yyyy年MM月dd日HH时mm分ss秒E"
Datedate=newDate();
System.out.println(format1.format(date));
//格式化输出
System.out.println(format2.format(date));
System.out.println(format3.format(date));
System.out.println(format4.format(date));
System.out.println(date.toString());
//默认输出格式
4、设计一个程序计算2010-05-01日与系统当前日期相差的天数。
参照题3与书本上P17完成。
packageEX1_4;
importjava.text.ParseException;
publicclassEX1_4{
Stringinput="
2010-05-01"
SimpleDateFormatformatter=newSimpleDateFormat("
Dated1=null;
Dated2=newDate();
try{
d1=formatter.parse(input);
}catch(ParseExceptione){
e.printStackTrace();
}
longdiff=d2.getTime()-d1.getTime();
System.out.println("
5、设计一个类Student,类的属性有:
姓名,学号,出生日期,性别,所在系等。
并生成学生类对象数组。
按照学生的姓名将学生排序输出。
使用String类的compareTo方法。
1)、定义学生类
classStudent{
privateStringsno,sname,sbirth,ssex,sdept;
//构造函数,set-get函数
2)、创建一个测试类
publicclassEx1_2{
publicStudent[]initStudent(){//初始化学生信息
Students[]=newStudent[5];
String[]names={"
zhou"
zhang"
liu"
li"
xu"
};
...//定义几个数组放置属性信息
s.length;
s[i]=newStudent(nos[i],names[i],births[i],sess[i],depts[i]);
returns;
publicvoidsortStudent(Student[]s){//排序按照姓名,选择法
s.length-1;
i++){
intmin=i;
for(intj=i+1;
j<
j++)
if((s[min].getSname().compareTo(s[j].getSname())>
0)min=j;
if(min!
=i){
Studentt=s[i];
s[i]=s[min];
s[min]=t;
publicvoiddispStudent((Student[]s){//输出学生信息
..
publicstaticvoidmain(String[]args){
Ex1_2obj=newEx1_2();
Student[]s=obj.initStudent();
obj.sortStudent(s);
obj.dispStudent(s);
packageEX1_5;
publicclassStudent{
Student(Stringsno,Stringsname,Stringsbirth,Stringssex,Stringsdept){
this.sno=sno;
this.sname=sname;
this.sbirth=sbirth;
this.ssex=ssex;
this.sdept=sdept;
publicStringgetSno(){
returnsno;
publicvoidsetSno(Stringsno){
this.sno=sno;
publicStringgetSname(){
returnsname;
publicvoidsetSname(Stringsname){
this.sname=sname;
publicStringgetSbirth(){
returnsbirth;
publicvoidsetSbirth(Stringsbirth){
this.sbirth=sbirth;
publicStringgetSsex(){
returnssex;
publicvoidsetSsex(Stringssex){
this.ssex=ssex;
publicStringgetSdept(){
returnsdept;
publicvoidsetSdept(Stringsdept){
this.sdept=sdept;
publicclassTest{
String[]snos={"
20101706"
20101707"
20101708"
20101709"
20101710"
gaojian"
cuichengdi"
huangyongsheng"
huangwei"
pengchonglin"
String[]births={"
1990-01-01"
1990-01-02"
1990-01-03"
1990-01-04"
1990-01-05"
String[]sess={"
男"
女"
String[]depts={"
计算机"
数学"
英语"
测控"
经济"
s[i]=newStudent(snos[i],names[i],births[i],sess[i],depts[i]);
0))
min=j;
s[i]=s[min];
s[min]=t;
publicvoiddispStudent(Student[]s){
System.out.println(s[i].getSno()+"
+s[i].getSname()+"
+s[i].getSbirth()+"
+s[i].getSsex()+"
+s[i].getSdept());
Testobj=newTest();
6、使用日历类等相关方法按截图做出一个日历参照书本示例,研究其中代码回顾与复习利用JavaSwing编程。
参考:
以下函数根据输入的年和月计算相应的数字
publicvoi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验一 Java常用工具类编程 实验 Java 常用工具 编程