JAVA一百题——1、2

114 阅读2分钟

这是我参与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);
	}

}