Я новичок в 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" вообще был инициализирован.
Пожалуйста, дайте мне знать, если есть какая-либо другая информация, которую я могу предоставить, и заранее спасибо за помощь и советы.
Вы нигде не печатаете в приведенном коде. Почему он должен выводить на консоль?
Я должен распечатать вывод на консоли, но я удалил его для простоты. @GBlodgett
Пожалуйста, добавьте эту часть к вопросу. (В виде минимальный воспроизводимый пример)




Проверьте содержимое входного файла. Это может быть проблемой.
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
Просто чтобы все и будущие зрители знали, что это решило проблему. Спасибо!
Не могли бы вы добавить содержимое файла, который хотите прочитать?