Одним из моих назначений 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() 'к вашему коду, чтобы узнать, что происходит. –
Как ваши номера разделены? Можем ли мы посмотреть образцы данных? –