我无法让我的代码工作。我试图获取数组的所有偶数和奇数,但每当我找到 -1 时我就必须停止。
import java.util.*;
public class EvenOdd{
private static int[] array;
private static List<Integer> even = new ArrayList<>();
private static List<Integer> odd = new ArrayList<>();
Scanner sc = new Scanner();
int numbers = sc.nextInt();
public static void classify() {
for(int i = 0 ; i < array.length ; i++){
if(numbers==-1){
if(array[i] % 2 == 0)
even.add(array[i]);
else
odd.add(array[i]);
}
}
}
public static void display(List<Integer> list){
for(Integer i : list)
System.out.println(i);
}
public static void main(String[] args){
classify();
display(even);
}
}
最佳答案
您的代码中有很多问题:
首先,您的代码仅在下一个整数为 -1 时才计算它,否则跳过迭代;
其次,您对分类操作输入感到有些困惑: array 从未被填充,因此在 for 语句和 module 操作中使用 array 不会产生任何影响感觉。 此外,扫描器构造函数没有源。
如果您想插入数字以从 System.in 求值,您可以尝试以下固定代码:
import java.util.*;
public class Main {
private static List<Integer> even = new ArrayList();
private static List<Integer> odd = new ArrayList();
public static void classify(Scanner sc){
Integer number;
while(sc.hasNextInt()) {
number = sc.nextInt();
if(number==-1)
break;
if(number % 2 == 0)
even.add(number);
else
odd.add(number);
}
}
public static void display(List<Integer> list){
for(Integer i : list)
System.out.println(i);
}
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
classify(sc);
display(even);
}
}
关于java - 奇数和偶数的数组列表,停止于 -1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33082987/