实验七-常用实用类
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验七常用实用类
1.实验目的
1、掌握String类的常用方法
2、掌握Date类以及Calendar类的常用方法
3、掌握接BigInteger类的常用方法
4、掌握怎样使用Pattern类和Match类检索字符串
2.实验内容
1、根据附录里的源代码,按照注释要求,完成代码填空,使程序能够运行
得出结果。
1) 实验1 检索图书
package girl;
public class FindMess {
public static void main(String[] args) {
String mess="书名:Java程序设计,出版社时间:2011.10.01,"+"出版社:清华大学出版社,价格:29.8元,页数:389页";
if(mess.contains("程序")){//判断mess中是否含有"程序"
System.out.println("图书信息包含有\"程序\"");
}
int index=mess.indexOf(":",3);//【代码2】//mess调用indexOf(String s)返回mess中第2个冒号的位置
String date=mess.substring(index+1,index+11);
System.out.println(date);
int pricePosition=mess.indexOf("价格");//【代码3】//mess调用
indexOf(String s)返回首次出现"价格"的位置
int endPosition=mess.indexOf("元");
String priceMess=mess.substring(pricePosition+3,endPosition);
System.out.println("图书价格"+priceMess);
double price=Double.parseDouble(priceMess);
if(price>=29){
System.out.println("图书价格"+price+"大于或等于29元");
}
else{
System.out.println("图书价格"+price+"小于29元");
}
index=stIndexOf(":");//【代码4】//mess调用laseIndexOf(String s,int start)返回最后1个冒号的位置
endPosition=stIndexOf("页");
String pageMess=mess.substring(index+1,endPosition);
int p=Integer.parseInt(pageMess);
if(p>=360){
System.out.println("图书价格"+p+"大于或等于360");
}
else{
System.out.println("图书价格"+p+"小于360");
}
}
}
2)实验2 购物小票
package girl;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class FoundPrice {
public static void main(String[] args) {
String s="牛奶:89.8元,香肠:12.9元,啤酒:69元,巧克力:132元";
String regex="[0123456789.]+";//【代码1】//匹配数字与小数点的正则表达式的字符串
int number=0;
double sum=0.0;
Pattern p = pile(regex);//【代码2】//使用regex 初始化模式对象pattern
Matcher m = p.matcher(s);
while(m.find()) {
System.out.println(m.group());
number=number+1;
try{
sum=sum+number;//【代码3】//获取子匹配成功结果字符串并转成Double型类
}
catch(NumberFormatException e){
System.out.println(e.getMessage());
}
}
System.out.println("购物小票中的商品种类:"+number+"种");
System.out.println("购物小票中的价格总额:"+sum+"元");
}
}
3)实验3 比较日期
package girl;
import java.util.*;
public class CompareDate{
public static void main(String args[ ]) {
Scanner scanner=new Scanner(System.in);
System.out.println("输入第一个年,月,日数据");
System.out.print("输入年份");
short yearOne=scanner.nextShort();
System.out.print("输入月份");
byte monthOne=scanner.nextByte();
System.out.print("输入日份");
byte dayOne=scanner.nextByte();
System.out.println("输入第二个年,月,日数据");
System.out.print("输入年份");
short yearTwo=scanner.nextShort();
System.out.print("输入月份");
byte monthTwo=scanner.nextByte();
System.out.print("输入日份");
byte dayTwo=scanner.nextByte();
Calendar calendar=Calendar.getInstance();//【代码1】 //初始化日历对象calendar.set(yearOne,monthOne,dayOne);
//【代码2】//将calendar的时间设置为yearOne年monthOne月dayOne日
long timeOne=calendar.getTimeInMillis();//【代码3】 //calendar表示的时间转换成毫秒
calendar.set(yearTwo,monthTwo,dayTwo);
long timeTwo=calendar.getTimeInMillis();
Date date1=new Date(timeOne);//【代码4】 // 用timeOne做参数构造date1 Date date2=new Date(timeTwo);
if(date2.equals(date1))
{
System.out.println("两个日期的年、月、日完全相同");