Разделение текстового файла на два параллельных массива (java)

#javascript #arrays #algorithm #file-io #split

#javascript #массивы #алгоритм #file-io #разделение

Вопрос:

У меня есть файл, который представляет собой перевод шаблонов азбуки Морзе в алфавит.

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

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

Как бы я разделил левую часть на свой собственный массив, а также правую часть на свой собственный массив? [1]: https://i.stack.imgur.com/X3i99.png

Ответ №1:

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

 // Java program to iterate over an array 
// using for loop 
import java.io.*; 
class GFG { 
  
    public static void main(String args[]) throws IOException 
    { 
        int ar[] = { 1, 2, 3, 4, 5, 6, 7, 8 }; 
        int i, x; 
  
        // iterating over an array 
        for (i = 0; i < ar.length; i  ) { 
  
            // accessing each element of array 
            x = ar[i]; 
            System.out.print(x   " "); 
        } 
    } 
} 

 

Чтение файлов что-то вроде

 import java.io.File;  // Import the File class
import java.io.FileNotFoundException;  // Import this class to handle errors
import java.util.Scanner; // Import the Scanner class to read text files

public class ReadFile {
  public static void main(String[] args) {
    try {
      File myObj = new File("filename.txt");
      Scanner myReader = new Scanner(myObj);
      while (myReader.hasNextLine()) {
        String data = myReader.nextLine();
        System.out.println(data);
      }
      myReader.close();
    } catch (FileNotFoundException e) {
      System.out.println("An error occurred.");
      e.printStackTrace();
    }
  }
}
 

Комментарии:

1. как бы мне перейти посимвольно?

2. @yoyo2 Каждая строка, которую выдает сканер, является строкой, и вы можете по существу обрабатывать строки как массивы. Кроме того, у кого-нибудь есть объяснение понижающего голоса? Я рад добавить к этому ответу, если есть действенная обратная связь.