0

我的 Java 任务之一是从文件中获取数字,然后将它们分成两个数组。一个名为 P(正数)和 N(负数)。我让它为正数工作,但负数一直输出 0。我不知道为什么!帮助?

import java.io.*;
import java.util.*;

public class Prog404a {
    public static void main(String[] args) {
        Scanner inFile = null;
        try {
            inFile = new Scanner(new File("prg404a1.dat"));
        } catch (FileNotFoundException e) {
            System.out.println("File not found!!");
            System.exit(0);
        }
        int temp = 0;
        int P[] = new int[23];
        int N[] = new int[23];
        int i = 0;
        while (inFile.hasNext()) {
            temp = inFile.nextInt();
            if (temp < 0) {
                N[i] = temp;
            }
            if (temp > 0) {
                P[i] = temp;
            }
            i++;
        }
        for (int x = 0; x < i; x++) {
            System.out.println(P[x] + "\t" + N[x]);
        }
    }
}

编辑:没关系,它也不适用于正数。只有一点。

4

1 回答 1

4

也许你只是没有数对吗?

您应该使用两个计数器,一个用于正数,一个用于负数。否则,一半的条目显然会为 0,因为它们从未设置过

于 2013-02-16T23:47:33.720 回答