1

私はちょっと立ち往生しています。これを機能させるにはどうすればよいですか、それとももっと良い方法がありますか? コード例を教えてください。

public char[][] charmap = new char[SomeInts.amount][SomeInts.amount];
public void loadMap() throws IOException{
    BufferedReader in = new BufferedReader(new FileReader("map1.txt"));
    String line = in.readLine();
    while (line != null){
        int y = 0;
        for (int x = 0; x < line.length(); x++){

            //Error
            charmap[x][y] = line[x];
            //
        }
        y++;
    }
}
4

3 に答える 3

4

構文line[x]は配列用に予約されています。文字列は配列ではありません。String#charAtメソッドを使用して、次のように記述できます。

charmap[x][y] = line.charAt(x);
于 2012-10-02T08:59:14.437 に答える
1

これを試して。

char[][] mapdata = new char[SomeInts.amount][SomeInts.amount];

public void loadMap() throws IOException{
    BufferedReader in = new BufferedReader(new FileReader("map1.txt"));
    String line = in.readLine();
    ArrayList<String> lines = new ArrayList<String>();
    // Load all the lines
    while (line != null){
        lines.add(line);
    }
    // Parse the data
    for (int i = 0; i < lines.size(); i++) {
        for (int j = 0; j < lines.get(i).length(); j++) {
            mapdata[j][i] = lines.get(i).charAt(j);
        }
    }
}

お役に立てれば。

于 2012-10-02T09:07:43.200 に答える
1

String.charAt(int)を使用して、文字列から文字をフェッチします。

于 2012-10-02T08:59:51.503 に答える