介绍“Java日常练习题,每天进步一点点(62)”题目攻略。
题目描述
题目链接:https://mp.weixin.qq.com/s/Ls8_zCvCkCWOD0j1K4Zp_g
攻略
题目要求在给定整数列表中,找到最大的偶数。以下是解题思路。
步骤 1: 创建整数列表
我们将使用以下代码创建一个包含整数的列表。
List<Integer> numbers = Arrays.asList(1, 4, 25, 3, 5, 15, 20, 50);
这个列表包含整数1, 4, 25, 3, 5, 15, 20和50。
步骤 2: 找到最大的偶数
接下来,我们将使用以下代码找到列表中最大的偶数。
Optional<Integer> max = numbers.stream()
.filter(n -> n%2 == 0)
.max(Comparator.naturalOrder());
代码中,我们首先使用filter()方法来过滤出偶数,然后使用max()方法找到值最大的项。最后,我们使用Optional类来确保结果不为null。
步骤 3: 打印结果
我们将使用以下代码打印找到的最大偶数。
if(max.isPresent()){
System.out.println("最大偶数是:" + max.get());
}else{
System.out.println("无偶数");
}
这里,我们使用isPresent()方法检查结果是否存在。如果结果存在,我们使用get()方法获取结果,并将其打印。
以下是完整的代码示例。
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.Optional;
public class MaxEvenNumber {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 4, 25, 3, 5, 15, 20, 50);
Optional<Integer> max = numbers.stream()
.filter(n -> n%2 == 0)
.max(Comparator.naturalOrder());
if(max.isPresent()){
System.out.println("最大偶数是:" + max.get());
}else{
System.out.println("无偶数");
}
}
}
下面是另一个例子,用于展示在寻找最大值时使用自定义比较器的方法。
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.Optional;
public class MaxEvenNumber {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 4, 25, 3, 5, 15, 20, 50);
Optional<Integer> max = numbers.stream()
.filter(n -> n%2 == 0)
.max(new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return Integer.compare(o1%10, o2%10);
}
});
if(max.isPresent()){
System.out.println("最大偶数是:" + max.get());
}else{
System.out.println("无偶数");
}
}
}
在这个例子中,我们定义了一个匿名定制比较器用于比较数字的个位数并在求取最大值时使用它。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java日常练习题,每天进步一点点(62) - Python技术站