Java程序不从数组中输出负整数?

时间:2013-02-16 23:44:14

标签: java arrays file-io integer negative-number

我的一个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]);
        }
    }
}
编辑:没关系,它也不适用于正数。只有少数。

1 个答案:

答案 0 :(得分:4)

也许你不算数?

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