Java实验报告三

1.利用字符串的相关知识,编程实现如下功能:

(1)定义字符串str的值为
3|Four Rooms (1995)|01-Jan-1995||http://us.imdb.com(1995)|0|0|0|0|0|1|0|0;
(2)以“|”作间隔划分str,输出全部子串;
(3)利用正则表达式过滤掉无关内容后,输出str中出现的英文单词;
(4)输出所有“1995”的位置编号;
(5)编写main方法,测试上述代码的功能。

public class Example1 {
	public static void main(String[] args) 
	{
		String str=new String("3|Four Rooms (1995)|01-Jan-1995||http://us.imdb.com(1995)|0|0|0|0|0|1|0|0");//定义字符串
		System.out.println("字符串:"+str);
		int number=0;  //“|”出现的位数
		int nextNumber=1;//“|”下一次出现的位数
		for(int i=1;i<str.length();)
		{
			System.out.println(str.substring(number, str.indexOf("|",nextNumber)));//输出字符串
			number=nextNumber+1;//始位和下一位交换数据
			nextNumber=str.indexOf("|", i+1);//查找下一“|”的位置
			i=nextNumber;//将nextNumber的值赋给i
			if(i==-1)//如果i等于-1,则查找完毕,退出循环
				break;
		}
		//正则表达式:输出所单词
		String regex="[\\s\\d\\p{Punct}]+";
		String words[]=str.split(regex);
		for(int i=0;i<words.length;i++) {
			int m=i+1;
			System.out.println("单词"+m+":"+words[i]);
		}
		//输出所有1995的位置
		
		int a=str.indexOf("1995");
		while(a>0) {
			System.out.println(a);
			a=str.indexOf("1995",a+"1995".length());  //改变搜索位置,寻找下一个匹配
		}
	}
}

2.利用DateFormat、Date、Calendar等相关类,编程实现如下功能:

(1)定义字符串str的值为“2020-05-01 12:12:01”;
(2)输出str表示的年、月、日、时、分、秒;
(3)判断并输出str表示的时间是该年度第几周、第几天;
(4)编写main方法,测试上述代码的功能

import java.time.*;
import java.util.Locale;
public class Example_2 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//从JavaSE8开始提供java.time包,改包中有专门处理日期和时间的类,而早期的java.until包中Date类成为过期API
		LocalDateTime date=LocalDateTime.of(2020, 05, 01, 12, 12, 01);
		String s=String.format("%tY年%<tm月%<td日%<tH时%<tM分%<tS",date);
		System.out.println(s);
		System.out.println("年:"+date.getYear()+",月:"+date.getMonth()+",日:"+date.getHour()+",分:"+date.getMinute()+",秒:"+date.getSecond());
	    System.out.println("今天是本年的第"+date.getDayOfYear()+"天");
	    //没有找到显示第几周的函数,只能自己编一个简单的判断算法
	    int m=(date.getDayOfYear()-date.getDayOfWeek().getValue())/7+1;
	    int n=(date.getDayOfYear()-date.getDayOfWeek().getValue())%7;//关于每年第一周的定义:一年的第一个日历星期包括该该年的第一个星期四
	    if(n>=4)//剩余的天数大于四天,即可认为包含星期四,该周是本年的第一周
	    	m=m+1;
	    System.out.println("本周是本年的第"+m+"周");
	}
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值