конвертировать строки из текстового файла в переменные JAVA - PullRequest
1 голос
/ 18 апреля 2011

Я пытаюсь извлечь номера отдельных строк из текстового файла, выполнить с ними операцию и распечатать их в новый текстовый файл.

мой текстовый файл читает что-то вроде

10 2 5 2

10 2 5 3

и т. Д. *

Я хотел бы сделать серьезную математику, поэтому я хотел бы иметь возможность звонить на каждый номер изстрока, с которой я работаю, и положил ее в расчет.

Кажется, что для этого лучше всего использовать массив, но чтобы получить числа в массиве, я должен использовать токенайзер строк

1 Ответ

4 голосов
/ 18 апреля 2011
Scanner sc = new Scanner(new File("mynums.txt"));
while(sc.hasNextLine()) {
    String[] numstrs = sc.nextLine().split("\\s+"); // split by white space
    int[] nums = new int[numstrs.length];
    for(int i = 0; i < nums.length; i++) nums[i] = Integer.parseInt(numstrs[i]);

    // now you can manipulate the numbers in nums[]

}

Очевидно, вам не нужно использовать int[] nums.Вместо этого вы можете сделать

int x = Integer.parseInt(numstrs[0]);
int m = Integer.parseInt(numstrs[1]);
int b = Integer.parseInt(numstrs[2]);
int y = m*x + b; // or something? :-)

В качестве альтернативы, если вы заранее знаете, что структура состоит из целых чисел, вы можете сделать что-то вроде этого:

List<Integer> ints = new ArrayList<Integer>();
Scanner sc = new Scanner(new File("mynums.txt"));
while(sc.hasNextInt()) {
    ints.add(sc.nextInt());
}

Она создает целочисленные объекты, которыеменее желательный, но не очень дорогой в эти дни.Вы всегда можете преобразовать его в int[] после того, как добавите их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...