我的一个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]);
}
}
}
编辑:没关系,它也不适用于正数。只有少数。
答案 0 :(得分:4)
也许你不算数?
你应该使用两个计数器,一个用于正数,一个用于负数。 否则,一半的条目显然是0,因为它们从未设置。