Мой java-сканер, похоже, не читает мой ввод (файл .txt)

Я новичок в Java и учусь читать ввод с помощью Java в Eclipse. Я использую сканер для чтения входного файла .txt, однако, похоже, он не читает самое первое целое число в файле .txt. Вот файл .txt:

2 1 4

Вот мой упрощенный код:

public class Test {
    static int var;
    static int[] arr;
    public static void main(String[] args) {
        String fileName = "/Users/anon/eclipse-workspace/Lab/src/input-01.txt";
        readInput(fileName);
    }
    public static void readInput(String fileName) {
        File file = new File(fileName);
        Scanner fileInput = new Scanner(file);
        //Read T
        var = fileInput.nextInt(); 
        System.out.printf("var: %d", var);
        arr = new int[var];
}

Я попытался выполнить отладку и понял, что "int var" даже не появлялся в таблице переменных справа, поэтому я не уверен, что "int var" вообще был инициализирован.

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

Не могли бы вы добавить содержимое файла, который хотите прочитать?

Samuel Philipp 09.04.2019 19:32

Вы нигде не печатаете в приведенном коде. Почему он должен выводить на консоль?

GBlodgett 09.04.2019 19:33

Я должен распечатать вывод на консоли, но я удалил его для простоты. @GBlodgett

Alex Kang 09.04.2019 19:45

Пожалуйста, добавьте эту часть к вопросу. (В виде минимальный воспроизводимый пример)

GBlodgett 09.04.2019 19:49
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
4
159
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Проверьте содержимое входного файла. Это может быть проблемой.

import java.io.File;
import java.util.Scanner;

public class Sample {

    public static void main(String[] args) throws Exception {
        String fileName = "src/main/resources/input-01.txt";
        readInput(fileName);
    }

    public static void readInput(String fileName) throws Exception {
        File file = new File(fileName);
        Scanner fileInput = new Scanner(file);
        //Read T
        int var = fileInput.nextInt();
        System.out.println("var = " + var);
    }
}

содержимое файла input-01.txt

10 sampletext

выход

var = 10

Process finished with exit code 0

Просто чтобы все и будущие зрители знали, что это решило проблему. Спасибо!

Alex Kang 09.04.2019 20:08

Другие вопросы по теме