-1
私が書いているプログラムでは、Map
というクラスがあり、そのクラス内にはcoord
という関数があり、与えられたポイントのマップ座標を返します。返すときに何も返さない関数
Map
クラス定義:
public class Map
{
public static char map[][] = new char[150][150];
public static char coord(Point locat)
{
if ((locat.v <= 0) || (locat.h <= 0))
return '\u0000';
return map[locat.v-1][locat.h-1];
}
public static int readToArray(String filePath)
{
try (InputStream in = new FileInputStream(filePath);
BufferedReader from = new BufferedReader(new InputStreamReader(in))) {
int c, h, v;
h = v = 0;
while ((c = from.read()) != -1) {
if (c == '\n') {
v++;
h = 0;
} else {
map[v][h++] = (char) c;
}
}
in.close();
return v;
} catch (IOException x) {
System.err.println(x);
}
return -1;
}
/* blah blah blah */
}
Point
クラス定義:
public class Point
{
public int h, v;
/* blah blah blah */
}
Map
クラスは静的です。私のmain
関数はreadToArray
を呼び出します。
printf
を追加して、coord
関数がエラーチェックをパスしたが、返されたchar
が空であることがわかりました。なぜこれが、私はそれを変更するために何をすべきですか?
他の誰かがこれを再現することをどのように期待できますか? 1)入力ファイルに何が入っていて、char [] []配列に入っているのかわからない、2)readToArrayを呼び出すメインメソッドを与えていない。 http://stackoverflow.com/help/mcve –
を読んでください**決してあなたのクラスに名前をつけない*地図* –