java - 奇数和偶数的数组列表,停止于 -1

标签 java arraylist

我无法让我的代码工作。我试图获取数组的所有偶数和奇数,但每当我找到 -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/

相关文章:

java - MySQL 给出正确的输出,但 Java 引发异常

java - 为什么 pageContext.request.contextPath 被视为字符串而不是类路径?

java - 将 ArrayList 或数组转换为字符串数组

java - 从一个列表填充多个列表

java - android - java - 带有 ArrayList 的 WeakReferences?

java - 从 HashMap 获取值并填充 Java 对象

java - Swing GroupLayout 只显示一个组件?如何解决这个问题?

java - 如何在java中覆盖和打印控制台中的值

java - Solr 如何使用邻近搜索和通配符进行 eDisMax 查询?

java - 为什么不同步会使 ArrayList 更快但更不安全?