java 根据年月,分别输入本季度和前七个季度
时间: 2024-03-21 10:42:47 浏览: 14
可以使用Java中的Scanner类来实现输入年月,并结合Calendar类计算本季度和前七个季度。具体步骤如下:
1. 导入Scanner类
```java
import java.util.Scanner;
```
2. 创建Scanner对象,并读取用户输入的年月
```java
Scanner scanner = new Scanner(System.in);
System.out.print("请输入年份:");
int year = scanner.nextInt();
System.out.print("请输入月份:");
int month = scanner.nextInt();
```
3. 创建Calendar对象,并设置年月
```java
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month - 1); // 月份从0开始,需要减1
```
4. 计算本季度
```java
int quarter = (cal.get(Calendar.MONTH) / 3) + 1; // 获取当前月份所在季度,计算季度方法为 (month - 1) / 3 + 1
System.out.println("本季度:" + year + "年第" + quarter + "季度");
```
5. 计算前七个季度
```java
cal.add(Calendar.MONTH, -7 * 3); // 将月份减去7个季度
year = cal.get(Calendar.YEAR); // 计算年份
quarter = (cal.get(Calendar.MONTH) / 3) + 1; // 获取当前月份所在季度
System.out.println("前七个季度:" + year + "年第" + quarter + "季度");
```
完整代码示例:
```java
import java.util.Calendar;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入年份:");
int year = scanner.nextInt();
System.out.print("请输入月份:");
int month = scanner.nextInt();
// 计算本季度
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month - 1);
int quarter = (cal.get(Calendar.MONTH) / 3) + 1;
System.out.println("本季度:" + year + "年第" + quarter + "季度");
// 计算前七个季度
cal.add(Calendar.MONTH, -7 * 3);
year = cal.get(Calendar.YEAR);
quarter = (cal.get(Calendar.MONTH) / 3) + 1;
System.out.println("前七个季度:" + year + "年第" + quarter + "季度");
scanner.close();
}
}
```
输出结果(以输入2021年9月为例):
```
请输入年份:2021
请输入月份:9
本季度:2021年第3季度
前七个季度:2019年第4季度
```
注:本代码仅供参考,具体实现方式可以根据实际需求进行修改。