这是我参与11月更文挑战的第21天,活动详情查看:2021最后一次更文挑战
7-1 计算天数
输入格式:
输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。
输出格式:
在一行输出日期是该年中的第几天。
输入样例1:
2009/03/02
结尾无空行
输出样例1:
61
结尾无空行
输入样例2:
2000/03/02
输出样例2:
62
解析
这一题使用平常的选择语言与判断都能够很容易地解决。这里使用JAVA中的日期类来解决。
代码
格式化Date数据
DateFormat d=new SimpleDateFormat("yyyy/MM/dd");
Date dd=d.parse(date);
其中DateFormat是抽象类使用其子类初始化,其参数为格式形式。yyyy年,MM月,dd日。
具体使用方法参考浅谈DateFormat类(下) - 掘金 (juejin.cn)
Calendar类的使用
Calendar calendar=Calendar.getInstance();
calendar.setTime(dd);
System.out.println(calendar.get(Calendar.DAY_OF_YEAR));
Calendar使用其方法初始化getInstance()
使用setTime向其中参加Date类的数据
使用get(Calendar.DAY_OF_YEAR)获取这一天是这一年的第几天。
更多Calendar的使用方法参考详解Cleandar日历类--上 - 掘金 (juejin.cn)
import java.text.*;
import java.util.*;
class Main{
public static void main(String[] args) throws Exception {
Scanner sc=new Scanner(System.in);
String date=sc.next();
DateFormat d=new SimpleDateFormat("yyyy/MM/dd");
Date dd=d.parse(date);
Calendar calendar=Calendar.getInstance();
calendar.setTime(dd);
System.out.println(calendar.get(Calendar.DAY_OF_YEAR));
}
}
7-2 统计一行文本的单词个数
输入格式:
输入给出一行字符。
输出格式:
在一行中输出单词个数。
输入样例:
Let's go to room 209.
输出样例:
5
代码
其中对于空格的处理需要考虑全面。
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
String str=scanner.nextLine();
char KG=" ".charAt(0);
int num=0;
for(int i=0;i<str.length();i++) {
if(i+1!=str.length()&& str.charAt(i)==KG && str.charAt(i+1)!=KG ) {
num++;
}
if(i==0&&str.charAt(i)!=KG) {
num++;
}
}
System.out.println(num);
}
}