複数行のStringBuilderを文字配列に変換するにはどうすればよいですか?

シュリーナース

私の要件は、System.inを介して8X8文字の値が与えられるチェスの問題を実行していたときに発生しました。私はそれをテストしていました、そして私はいつもかなり難しい64の入力を与えていました。さて、同じものをテキストファイルに保存し、それを読み取って文字配列に格納したいと思いました。私がそうするのを手伝ってください。ファイルの内容を読み取って表示する方法や、1D文字配列に変換する方法は複数あります。しかし、StringBuilderから2D文字配列に直接変換できるのではないかと思っていました!!!! これが私が試したことです。

StringBuilder c = new StringBuilder();
        File f = new File("file\\input.txt");
        FileInputStream br = new FileInputStream(f);
        int str;
        while ((str = br.read()) != -1) {
            c.append((char) str);
        }
        br.close();
        System.out.println(c);

        int strBegin = 0;

        for (int i = 0; i < input.length; i++) {
            for (int j = 0; j < input.length; j++) {
                input[i][j] = c.substring(strBegin, strBegin + 1).toCharArray()[0];
                strBegin++;
            }
        }
        for (int i = 0; i < input.length; i++) {
            for (int j = 0; j < input.length; j++) {
                System.out.print(input[i][j] + " ");
            }
            System.out.println();
        }

ここで、ファイルinput.txtの内容:

 2345678
1 345678
12 45678
123 5678
1234 678
12345 78
123456 8
1234567 

注:配列に格納する必要がある対角スペースがあります。

コードを実行すると、次のようになります。

 2345678
1 345678
12 45678
123 5678
1234 678
12345 78
123456 8
1234567 
  2 3 4 5 6 7 8 

 1   3 4 5 6 
  8 
 1 2   4 
  6 7 8 
 1 2 
    5 6 7 8 

1 2 3 4   6 7 8 

 1 2 3 4 5   
  8 
 1 2 3 4 
ジョアキムダニエルソン

文字ごとに読むのではなく、行全体を直接読んで、後でそれをcharの配列に変換することをお勧めします

public static char[][] readChessFile(String filename) throws IOException {
  char[][] input = new char[8][8];
  try (BufferedReader bufferedReader = new BufferedReader(new FileReader(filename))) {

    String line;
    for (int i = 0; i < input.length; i++) {
      line = bufferedReader.readLine();
      if (line == null || line.length() != 8) {
        throw new IllegalStateException("File is not in correct format");
      }
      input[i] = line.toCharArray();
    }
  }
  return input;
}

そして、これが私のテストコードです

try {
  char[][] result = readChessFile(filename);
  for (int i = 0; i < result.length; i++) {
    for (int j = 0; j < result[i].length; j++) {
      System.out.print(result[i][j]);
    }
    System.out.println();
  }
} catch (IOException e) {
  e.printStackTrace();
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

文字配列の複数の要素を整数に変換するにはどうすればよいですか?

分類Dev

複数行の文字列をオブジェクトまたは配列に変換するにはどうすればよいですか?

分類Dev

PowerShellの配列に複数行の文字列を追加するにはどうすればよいですか?

分類Dev

複数行の変数を配列に追加するにはどうすればよいですか

分類Dev

単一行の配列を複数行の配列に変換するにはどうすればよいですか?

分類Dev

1行で複数の配列変数を宣言するにはどうすればよいですか - python

分類Dev

php codeigniterで配列を文字列変数に変換するにはどうすればよいですか?

分類Dev

文字列の配列をIntの配列に変換するにはどうすればよいですか?

分類Dev

「配列形式の文字列」をPHPの配列に変換するにはどうすればよいですか?

分類Dev

Int配列を文字列に変換するにはどうすればよいですか?Swiftの配列

分類Dev

文字列を配列に変換し、配列の各16進値をPythonで10進数に変換するにはどうすればよいですか?

分類Dev

Pythonを使用してjson内の複数の文字列配列をcsvに変換するにはどうすればよいですか?

分類Dev

Javaで文字列を文字の配列に変換するにはどうすればよいですか

分類Dev

複数行の文字列を複数の行に分割するにはどうすればよいですか?

分類Dev

NumPy配列の文字列表現をNumPy配列に変換するにはどうすればよいですか?

分類Dev

Goでintの文字列を配列に変換するにはどうすればよいですか?

分類Dev

数行のコードを含む文字の配列をdata.frameに変換するにはどうすればよいですか?

分類Dev

Javascriptでスペース区切りの複数行の文字列をjsonに変換するにはどうすればよいですか?

分類Dev

文字列を整数の2D配列に変換するにはどうすればよいですか?

分類Dev

タプルの配列を文字列に変換するにはどうすればよいですか?

分類Dev

文字列の配列を値(記号)に変換するにはどうすればよいですか?

分類Dev

unsigned char配列をCの文字列に変換するにはどうすればよいですか?

分類Dev

NSArray(文字列形式)を実際の配列形式に変換するにはどうすればよいですか?

分類Dev

配列内の文字列を式に変換するにはどうすればよいですか?

分類Dev

コンマ区切りの文字列変数から数値を取得して文字列配列を変換するにはどうすればよいですか?

分類Dev

MIPSで複数行の文字列の行順を逆にするにはどうすればよいですか?

分類Dev

行の値を文字列値を含む列に変換するにはどうすればよいですか?

分類Dev

複数の列を2つの列に変換するにはどうすればよいですか?

分類Dev

Javascriptで配列の配列を文字列から数値に変換するにはどうすればよいですか?

Related 関連記事

  1. 1

    文字配列の複数の要素を整数に変換するにはどうすればよいですか?

  2. 2

    複数行の文字列をオブジェクトまたは配列に変換するにはどうすればよいですか?

  3. 3

    PowerShellの配列に複数行の文字列を追加するにはどうすればよいですか?

  4. 4

    複数行の変数を配列に追加するにはどうすればよいですか

  5. 5

    単一行の配列を複数行の配列に変換するにはどうすればよいですか?

  6. 6

    1行で複数の配列変数を宣言するにはどうすればよいですか - python

  7. 7

    php codeigniterで配列を文字列変数に変換するにはどうすればよいですか?

  8. 8

    文字列の配列をIntの配列に変換するにはどうすればよいですか?

  9. 9

    「配列形式の文字列」をPHPの配列に変換するにはどうすればよいですか?

  10. 10

    Int配列を文字列に変換するにはどうすればよいですか?Swiftの配列

  11. 11

    文字列を配列に変換し、配列の各16進値をPythonで10進数に変換するにはどうすればよいですか?

  12. 12

    Pythonを使用してjson内の複数の文字列配列をcsvに変換するにはどうすればよいですか?

  13. 13

    Javaで文字列を文字の配列に変換するにはどうすればよいですか

  14. 14

    複数行の文字列を複数の行に分割するにはどうすればよいですか?

  15. 15

    NumPy配列の文字列表現をNumPy配列に変換するにはどうすればよいですか?

  16. 16

    Goでintの文字列を配列に変換するにはどうすればよいですか?

  17. 17

    数行のコードを含む文字の配列をdata.frameに変換するにはどうすればよいですか?

  18. 18

    Javascriptでスペース区切りの複数行の文字列をjsonに変換するにはどうすればよいですか?

  19. 19

    文字列を整数の2D配列に変換するにはどうすればよいですか?

  20. 20

    タプルの配列を文字列に変換するにはどうすればよいですか?

  21. 21

    文字列の配列を値(記号)に変換するにはどうすればよいですか?

  22. 22

    unsigned char配列をCの文字列に変換するにはどうすればよいですか?

  23. 23

    NSArray(文字列形式)を実際の配列形式に変換するにはどうすればよいですか?

  24. 24

    配列内の文字列を式に変換するにはどうすればよいですか?

  25. 25

    コンマ区切りの文字列変数から数値を取得して文字列配列を変換するにはどうすればよいですか?

  26. 26

    MIPSで複数行の文字列の行順を逆にするにはどうすればよいですか?

  27. 27

    行の値を文字列値を含む列に変換するにはどうすればよいですか?

  28. 28

    複数の列を2つの列に変換するにはどうすればよいですか?

  29. 29

    Javascriptで配列の配列を文字列から数値に変換するにはどうすればよいですか?

ホットタグ

アーカイブ