/**
* 判断连续签到天数
*/
@Test
public void test4() {
// 定义一个长度为31的数组
Integer[] arrs = new Integer[31];
// 随机数
Random random = new Random();
for (int i = 0; i < arrs.length; i++) {
// 给数组放入0或者1,1代表签到,0代表没有签到
arrs[i] = random.nextInt(2);
}
System.out.println(Arrays.toString(arrs));
// 最大签到天数
int maxCount = 0;
// 当前签到天数
int num = 0;
for (int i = 0; i < arrs.length; i++) {
if (arrs[i] == 1) {
// 签到当前签到天数就加一
num++;
// 判断连续签到的天数,并赠送相应的金币
switch (num) {
case 3:
System.out.println("送连续签到3天的金币");
break;
case 4:
System.out.println("送连续签到4天的金币");
break;
case 5:
System.out.println("送连续签到5天的金币");
break;
}
// 打断本次循环
continue;
}
if (arrs[i] == 0) {
// 如果当前签到天数大于最大签到天数,把当前签到天数赋值给最大签到天数
if (num > maxCount) {
maxCount = num;
}
// 并给当前签到天数归零
num = 0;
}
}
System.out.println("最大连续签到天数" + maxCount);
}
结果 :

该代码段定义了一个Java测试方法,用于模拟随机生成的31天签到数据。程序计算了最大连续签到天数,并在达到特定连续签到天数(如3天、4天、5天)时输出相应的金币奖励信息。最后,它会输出整个签到期间的最大连续签到天数。

3670

被折叠的 条评论
为什么被折叠?



