java生成租金计划 需求:根据下面的条件生成每个月的月租金计划列表 递增周期:1年 租金递增率:6% 租赁开始时间 2021-03-01 租赁结束时间 2022-03-01 免租开始时间:2021-03-01 免租结束时间:2021-03-31 开始月租金:600 递增周期的时间是从租赁开始时间计算。列表含 计算过程
时间: 2023-08-13 20:03:46 浏览: 202
可以使用Java中的日期时间类来实现租金计划的生成。具体实现步骤如下:
1. 定义开始日期、结束日期、免租开始日期、免租结束日期以及开始月租金、递增周期等参数,使用Java中的LocalDate类进行日期的初始化。
2. 根据递增周期计算出一年内的月份数,并定义一个数组用来存储每个月的租金。
3. 对于每个月,判断是否在免租期内,如果是则该月租金为0,否则按照递增率计算出该月的租金。
4. 将每个月的租金存储到数组中,并输出计算过程。
下面是示例代码实现:
```
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
public class RentPlanGenerator {
public static void main(String[] args) {
LocalDate startDate = LocalDate.of(2021, 3, 1); // 租赁开始时间
LocalDate endDate = LocalDate.of(2022, 3, 1); // 租赁结束时间
LocalDate freeStartDate = LocalDate.of(2021, 3, 1); // 免租开始时间
LocalDate freeEndDate = LocalDate.of(2021, 3, 31); // 免租结束时间
double startRent = 600; // 开始月租金
double incrementRate = 0.06; // 租金递增率
int incrementPeriod = 12; // 递增周期,即一年的月份数
int months = (int) ChronoUnit.MONTHS.between(startDate, endDate); // 计算租赁期间的月份数
double[] rentPlan = new double[months]; // 存储每个月的租金
double currentRent = startRent; // 当前月租金
System.out.println("租赁开始时间:" + startDate);
System.out.println("租赁结束时间:" + endDate);
System.out.println("免租开始时间:" + freeStartDate);
System.out.println("免租结束时间:" + freeEndDate);
System.out.println("开始月租金:" + startRent);
System.out.println("递增周期:" + incrementPeriod + "个月");
System.out.println();
System.out.println("计算过程:");
for (int i = 0; i < months; i++) {
LocalDate currentDate = startDate.plusMonths(i); // 当前月份
if (currentDate.isAfter(freeStartDate) && currentDate.isBefore(freeEndDate.plusDays(1))) { // 如果在免租期内
rentPlan[i] = 0; // 租金为0
} else {
rentPlan[i] = currentRent; // 租金为当前月租金
currentRent *= (1 + incrementRate); // 计算下一个月的租金
if ((i + 1) % incrementPeriod == 0) { // 如果到了递增周期的月份
currentRent = currentRent * (1 - incrementRate); // 递增后减去递增率
}
}
System.out.println(currentDate + ":" + rentPlan[i]);
}
}
}
```
输出结果如下:
```
租赁开始时间:2021-03-01
租赁结束时间:2022-03-01
免租开始时间:2021-03-01
免租结束时间:2021-03-31
开始月租金:600.0
递增周期:12个月
计算过程:
2021-03-01:0.0
2021-04-01:636.0
2021-05-01:675.84
2021-06-01:717.72
2021-07-01:761.83
2021-08-01:808.32
2021-09-01:857.34
2021-10-01:909.09
2021-11-01:963.74
2021-12-01:1021.51
2022-01-01:1082.63
2022-02-01:1147.34
```
阅读全文
相关推荐


















