英文:
How to return boolean statement if the sum of an arraylist is less than or equal to a maximum number?
问题
我有这个方法头部:
public boolean legal(int total)
该方法必须在ArrayList<Integer> numbers
中的数值总和不超过参数total
时返回true
。
请帮我思考如何实现这个方法。哪种类型的循环更适合?
谢谢。
英文:
I have the method head
public boolean legal(int total)
that must return true
if the sum of the ArrayList<Integer> numbers
is not higher than the parameter total
.
Please help me on how I could implement this. Which type of loop is preferred?
Thanks.
答案1
得分: 0
Sure, here is the translated content:
使用 Java 8 流(streams):
public boolean legal(int total) {
return numbers.stream()
.mapToInt(Integer::intValue) // 将流转换为 IntStream 对象
.sum() <= total;
}
英文:
Using Java 8 streams:
public boolean legal(int total) {
return numbers.stream()
.mapToInt(Integer::intValue) // converts the stream to an IntStream object
.sum() <= total;
}
答案2
得分: 0
你可能需要像这样实现:
int[] arr = new int[] { 1, 2, 3, 4, 5 };
public boolean legal(int total) {
int i = 0;
int sum = 0;
while (i < arr.length) {
sum += arr[i];
i = i + 1;
}
if (sum <= total) {
return true;
} else {
return false;
}
}
英文:
You may have to implement like this
int[] arr = new int[] { 1, 2, 3, 4, 5 };
public boolean legal(int total){
int i=0;
int sum=0;
while (i < arr.length) {
sum += arr[i];
i=i+1;
}
if(sum <= total){
return true;
}
else{
return false;
}
}
答案3
得分: -1
可能最简单的遍历列表的方法是使用 foreach 循环:
public boolean legal(int total) {
int sum = 0;
for(int num : numbers) { // 遍历ArrayList numbers中的每个数字
sum += num;
}
return sum <= total; // 如果总和小于等于total,则返回true
}
与普通的for循环相比,使用foreach循环更加简便,因为您无需处理索引。然而,只有在集合具有索引的情况下才能使用foreach循环,对于您的情况,ArrayList具有索引。因此,使用foreach循环是遍历列表的最简单方法。
如果您的集合没有索引(例如,如果您使用了 Set
),则可以使用普通的 for循环 或者 Iterator。
英文:
Probably the simplest way to loop thotugh your list is by using a foreach loop
public boolean legal(int total) {
int sum = 0;
for(int num : numbers) { //loop through every number in ArrayList numbers
sum += num;
}
return sum <= total; //return true if the sum is less than or equal to total
}
A foreach loop is easier to use than a for loop since you do not to handle indeces. However a foreach loop can only be used if your collection have indices, which for your case an ArrayList have. Therefore a foreach loop is the easiest way to loop thorugh your list.
If your collection do not have indices (if your use for example a Set
) you can instead use a regular for loop or an Iterator.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论