
JAVA如何把正数和负数分类
用户关注问题
我在编写JAVA程序时,想要判断一个整数是正数还是负数。应该如何实现这个判断?
使用条件语句判断正负数
可以使用if语句判断变量的数值大小。如果数值大于0,则为正数;小于0,则为负数;等于0则为零。例如:
int num = -5;
if (num > 0) {
System.out.println("正数");
} else if (num < 0) {
System.out.println("负数");
} else {
System.out.println("零");
}
有一个整数数组,我想把所有正数放到一个集合,负数放到另一个集合中。用JAVA如何实现?
遍历数组并分配元素到不同集合
遍历数组中的元素,判断每个元素的正负性,然后将正数添加到一个集合(比如ArrayList),负数添加到另一个集合。示例代码:
int[] arr = {3, -1, 4, -5, 0};
List positives = new ArrayList<>();
List negatives = new ArrayList<>();
for (int num : arr) {
if (num > 0) {
positives.add(num);
} else if (num < 0) {
negatives.add(num);
}
}
System.out.println("正数集合:" + positives);
System.out.println("负数集合:" + negatives);
除了简单的正负判断,有没有推荐的方法把数字分类以便后续操作或者分析?
利用流和过滤器实现数字分类
JAVA 8及以上版本可以使用Stream API对数组中的数字进行分类,比如利用filter方法过滤正数和负数,然后收集到不同的集合中。示例:
int[] numbers = {10, -20, 15, -5, 0};
List positiveNumbers = Arrays.stream(numbers)
.filter(n -> n > 0)
.boxed()
.collect(Collectors.toList());
List negativeNumbers = Arrays.stream(numbers)
.filter(n -> n < 0)
.boxed()
.collect(Collectors.toList());
这个方式简洁且易于扩展,便于后续的分组统计或者处理。