用java 如何在一个list中判断连续签到数
时间: 2023-02-01 09:59:35 浏览: 76
为了在一个 List 中判断连续签到的数量,你需要遍历这个 List 并检查每个元素的值是否为 1。如果是,就将计数器加 1;如果不是,就将计数器重置为 0。当你遍历完整个 List 后,计数器的值就是连续签到的天数。
代码示例如下:
```java
List<Integer> signInRecord = Arrays.asList(1, 1, 0, 1, 1, 1, 0, 1, 1, 1);
int consecutiveSignInCount = 0;
int maxConsecutiveSignInCount = 0;
for (int i = 0; i < signInRecord.size(); i++) {
if (signInRecord.get(i) == 1) {
consecutiveSignInCount++;
maxConsecutiveSignInCount = Math.max(maxConsecutiveSignInCount, consecutiveSignInCount);
} else {
consecutiveSignInCount = 0;
}
}
System.out.println("最大连续签到天数:" + maxConsecutiveSignInCount);
```
这段代码会打印出给定的 List 中的最大连续签到天数。
希望这对你有帮助!
相关问题
如何在一个list中判断连续签到数
你可以利用循环遍历list中的元素,记录当前连续签到天数和最长连续签到天数,当遇到未签到的日期时,更新当前连续签到天数为0,同时比较当前连续签到天数和最长连续签到天数,更新最长连续签到天数为较大值。具体实现可以参考以下代码:
```python
def find_continuous_sign_in_days(lst):
max_continuous_days = 0
continuous_days = 0
for i in lst:
if i == 1: # 1表示签到
continuous_days += 1
max_continuous_days = max(max_continuous_days, continuous_days)
else:
continuous_days = 0
return max_continuous_days
```
其中,lst为包含签到记录的list,1表示签到,0表示未签到。函数返回最长连续签到天数。
java 判断一个long 是否在一个list中
Java中可以使用for循环遍历列表,并使用equals方法来判断long类型的元素是否在列表中。具体代码如下:
```java
List<Long> myList = Arrays.asList(1L, 2L, 3L, 4L, 5L);
Long myLong = 3L;
boolean isInList = false;
for (Long element : myList) {
if (element.equals(myLong)) {
isInList = true;
break;
}
}
if (isInList) {
System.out.println("myLong在列表中");
} else {
System.out.println("myLong不在列表中");
}
```
输出结果为:
```
myLong在列表中
```