Java: массив int, возвращаемый как 0 - PullRequest
0 голосов
/ 24 мая 2018

Я пытаюсь извлечь массив из текстового файла (см. Radi [] ниже), но он продолжает возвращать нули.Я рад предоставить .txt.file.

Текстовый файл, который я использую, имеет диапазон целых чисел от 1 до 200 (первый - 16), но код, кажется, читает файл как все нули.Есть идеи о том, что происходит с этим?Спасибо за понимание!

public static void main (String[] args) {

    int radCtr = 0;
    Scanner scanner = new Scanner(new File("C:/Users/u23s57/Documents/4_22_18_radiation.txt"));
    while (scanner.hasNextLine()) {
        radCtr++;
        scanner.nextLine();
        }
    int [] radiation = new int [radCtr]; 
    int i = 0;
    while(scanner.hasNextInt()){
       radiation[i++] = scanner.nextInt();
    }

    for (int y = 0; y < radiation.length; y++) {
        System.out.println(radiation[y]);

        }
    int max = getMax(radiation);
    System.out.println("Maximum Value is: "+max);

    }

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

Из-за "scanner.hasNextLine ()" у вас больше не осталось целых чисел.Поэтому вы должны использовать разные сканеры.

Еще одна вещь, может быть, лучше не использовать сканер, а буферизованный считыватель.По моему мнению, особенно когда вы собираетесь использовать разделитель (который я пока не вижу)

0 голосов
/ 24 мая 2018
while (scanner.hasNextLine()) {
    radCtr++;
    scanner.nextLine();
    }

Этот цикл занимает все строки в файле.Поэтому, когда вы попадаете сюда:

while(scanner.hasNextInt()){

Больше нет нужных значений для чтения.

Вам также необходимо:

  • Повторно открыть сканер послепервый цикл.
  • Выделите массив произвольного размера (который по крайней мере настолько большой, насколько это необходимо)
  • Используйте структуру данных, для которой вам не нужно знать размерзаранее (например, List).
  • Сделайте это без сохранения всех данных.Вам не нужно хранить все это, чтобы получить максимум.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...