내 Java 할당 중 하나는 파일에서 숫자를 가져 와서 두 개의 배열로 구분하는 것입니다. 하나는 P (양수)와 N (음수)로 명명했습니다. 양수로는 작동하지만 음수에서는 0을 계속 출력합니다. 나는 이유를 모른다! 도움?Java 프로그램이 배열에서 음수를 출력하지 않습니까?
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]);
}
}
}
편집 : 양수로는 효과가 없습니다. 단지 몇 가지.
'N'과 'P'모두에 대해 동일한 색인을 사용하므로, 예를 들어 첫 번째 음의 정수 앞에 3 개의 양수가 있으면 'N [3]'에 삽입됩니다. 그게 니가 원하는거야? –
코드 디버깅 방법을 배우는 것이 좋습니다. IDE에서 디버거를 사용하거나 코드에'System.out.println()'호출을 많이 추가하여 무슨 일이 일어나고 있는지 확인할 수 있습니다. –
숫자는 어떻게 구분 되나요? 샘플 데이터를 볼 수 있습니까? –