Параллельные массивы: как инициализировать длину массивов, когда входной файл неизвестен

Это мой первый пост здесь, и я новичок в Java. У меня запланировано назначение на этой неделе, и у меня возникли некоторые проблемы с его началом, хотя я думаю, что знаю, что делать после того, как начну. Итак, учитель хочет, чтобы мы использовали параллельные массивы и написали программу, которая создаст гистограмму. Так что, если он даст нам входной файл, который содержит:

4 
Sidney
Washington
London
New York
4 
8
10
3

Он распечатает:

   Sidney ****
Wasington *********
   London **********
 New York ***`

Итак, я начал писать свою программу. Но я не знаю, как инициализировать длину массивов. Он сообщит нам, сколько элементов в первой строке файла (поэтому, используя пример выше длины будет 4), однако мы не будем знать, что это за число, нам нужно написать программу, которая будет читать это число, Это то, что у меня есть

import java.util.*;
public class BarChart
{
    public static void main(String args[])
    {
    Scanner scan = new Scanner(System.in);
    File file = input;
    // Read in the input file
    int N=input.readInt();

    // Create an array to hold dataLabels, and another to hold dataValues.
    String[] dataLabels = new String[N];
    int[] dataValues= new int[N];`

Это часть int N, которую я не знаю, как написать, чтобы заставить ее сканировать первую строку его входного файла и использовать это число.

1 ответ

Просто используйте соответствующий конструктор Scanner:

scan = new Scanner(new File("put the path and filename here"), "UTF-8");
int N = scan.nextInt();

Кроме того, я бы назвал переменную N как нечто более наглядное, например arrayLength,

Будьте уверены, и не ленитесь: используйте тот, который указан в спецификации charset! И, конечно же, используйте соответствующий код набора символов для файла.

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

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