Массив внутри массива не работает должным образом - PullRequest
0 голосов
/ 03 мая 2018

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

Текстовый файл

Hat, dog, cat, mouse
Cow, animal, small, big, heavy
Right, left, up, down ,behind
Bike, soccer, football, tennis, table-tennis

код

animals = new Scanner(new File("appendixA.txt"));
// code for number of lines start
File file =new File("appendixA.txt");

if(file.exists()) {

    FileReader fr = new FileReader(file);
    LineNumberReader lnr = new LineNumberReader(fr);

    int linenumber = 0;

    while (lnr.readLine() != null) {
        linenumber++;
    }

    lnr.close();

    // code for number of lines end

    String animal[] = new String[linenumber];

    for (int i = 0; i < linenumber; i++) {
        String line = animals.nextLine();
        animal[i] = line;

        for (int j = 0; j < animal[i].split(",").length; j++) {
            String animalzzz[] = animal[i].split(",");


        }


    }
}

1 Ответ

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

Вам необходимо использовать 2-мерный массив. 2D-массивы используются для представления структуры таблицы. В вашем случае у вас есть несколько строк, и каждая строка имеет несколько значений. Таким образом, один массив будет использоваться для представления строки, а другой массив будет использоваться для представления значений столбцов в каждой строке.

        String[][] animal = new String [linenumber][];

        for (int i = 0; i < linenumber; i++) {
                String line = animals.nextLine();
                String[] oneRowAnimals = line.split(",").trim();
                for(int j=0; j<oneRowAnimals.length; j++) {

                    // Here you are storing animals
                    animal[i][j] = oneRowAnimals[j];
                }
        }
        // Now you can access them by index.
        // For exmaple, this would give you "dog"
        String animalName = animal[0][1]; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...