错误: java 中的整除数字代码
Errors: Divisible numbers code in java
我创建了一个代码,它接受一个数字数组和一个分隔符,returns 一个可以被分隔符整除的数字数组。
public class EvenNumbers {
public static int[] divisibleBy(int[] numbers, int divider) {
int i = 0;
int[] divisibleNumbers = new int[0];
while (i < numbers.length){
if (numbers[i] % divider == 0){
divisibleNumbers.push(numbers[i]);
i++;
} else {
i++;
}
}
return divisibleNumbers;
}
}
但是我收到一个我不知道如何修复的错误:
错误:在推送元素语句中找不到符号。
如果有人知道我如何解决这 2 个错误,请在评论中回答,非常感谢帮助。
你要和==
比较,不能赋值
if (numbers[i] % divider == 0){
您正在创建一个包含 [0] 个元素的数组,其大小不可修改,请尝试使用列表或更大的数组
List<Integer> divisibleNumbers = new ArrayList<Integer>();
或
int[] divisibleNumbers = new int[numbers.length]; //since you will never get more numbers than those which are in numbers
并添加元素为:
divisibleNumbers.add(element); //list
divisibleNumbers[position] = element; //array
您不能使用 push()
向数组添加元素,这是 JavaScript 语法。
你想要的是一个列表,而不是一个数组,因为你事先不知道有多少元素会被divider
整除,而数组的大小是固定的。
将您的方法简化为:
public static List<Integer> divisibleBy(int[] numbers, int divider) {
List<Integer> divisibleNumbers = new ArrayList<>();
for (int number : numbers) {
if (number % divider == 0) {
divisibleNumbers.add(number);
}
}
return divisibleNumbers;
}
或选择更实用的方法:
public static int[] divisibleBy(int[] numbers, int divider) {
return Arrays.stream(numbers)
.filter(number -> number % divider == 0)
.toArray();
}
我创建了一个代码,它接受一个数字数组和一个分隔符,returns 一个可以被分隔符整除的数字数组。
public class EvenNumbers {
public static int[] divisibleBy(int[] numbers, int divider) {
int i = 0;
int[] divisibleNumbers = new int[0];
while (i < numbers.length){
if (numbers[i] % divider == 0){
divisibleNumbers.push(numbers[i]);
i++;
} else {
i++;
}
}
return divisibleNumbers;
}
}
但是我收到一个我不知道如何修复的错误: 错误:在推送元素语句中找不到符号。
如果有人知道我如何解决这 2 个错误,请在评论中回答,非常感谢帮助。
你要和==
比较,不能赋值
if (numbers[i] % divider == 0){
您正在创建一个包含 [0] 个元素的数组,其大小不可修改,请尝试使用列表或更大的数组
List<Integer> divisibleNumbers = new ArrayList<Integer>();
或
int[] divisibleNumbers = new int[numbers.length]; //since you will never get more numbers than those which are in numbers
并添加元素为:
divisibleNumbers.add(element); //list
divisibleNumbers[position] = element; //array
您不能使用 push()
向数组添加元素,这是 JavaScript 语法。
你想要的是一个列表,而不是一个数组,因为你事先不知道有多少元素会被divider
整除,而数组的大小是固定的。
将您的方法简化为:
public static List<Integer> divisibleBy(int[] numbers, int divider) {
List<Integer> divisibleNumbers = new ArrayList<>();
for (int number : numbers) {
if (number % divider == 0) {
divisibleNumbers.add(number);
}
}
return divisibleNumbers;
}
或选择更实用的方法:
public static int[] divisibleBy(int[] numbers, int divider) {
return Arrays.stream(numbers)
.filter(number -> number % divider == 0)
.toArray();
}