RMI と Tomcat を使用する Android での小さな戦艦ゲームの作成。
テキスト ファイル「boards.txt」からデータをロードし、場合によってはそれを HashMap に格納してクエリを実行する必要があります。
ファイルを添付できませんが、以下はメモ帳での .txt ファイルのスクリーンショットです。これは、10x10 グリッドである 10,000 の戦艦ゲーム ボード (とにかくその数だと思います) のボード レイアウトを表示します。
したがって、ファイルの各 100 文字は、それぞれが改行で区切られた 10 x 10 グリッドのさまざまな船と空白の場所の場所になります。
私が苦労しているのは、実際の解析です。データを HashMap に保存すると、ランダムなボード レイアウトを選択するための検索が容易になると思います。以下は、現在データを読み取るために使用しているコードです。
public static void main(String[] args) throws FileNotFoundException {
Scanner scanner = new Scanner(new FileReader("C:\\Path\\boards.txt"));
HashMap<String, String> map = new HashMap<String, String>();
while (scanner.hasNextLine()) {
String columns = scanner.nextLine();
map.put(columns, columns);
}
System.out.println(map);
}
今、私がこのようにした主な理由は、エラーを取り除くことでした。以前、私のコードは次のようでした:
public static void main(String[] args) throws FileNotFoundException {
Scanner scanner = new Scanner(new FileReader("C:\\Path\\boards.txt"));
HashMap<String, String> map = new HashMap<String, String>();
while (scanner.hasNextLine()) {
String[] columns = scanner.nextLine().split(" ");
map.put(columns[0], columns[1]);
}
System.out.println(map);
}
しかし、範囲外の例外が発生していました。分割する空白スペースがないため、最も可能性が高いです。
私の主な問題は、.txt ファイル全体を HashMap に保存し、一度に 100 文字の 1 行だけを表示するにはどうすればよいかということです。
そして第二に(優先度が低い)-ランダムに1行を選択したいので、1〜10000の乱数を作成して1行を表示できます。String、Integer HashMap を使用して、どういうわけか各行にインデックス値を設定することを考えましたが、どうすればよいかわかりません。
**編集申し訳ありませんが、スクリーンショットを追加するのを忘れていました。ここにあります:
あなたの答えをありがとう、私は今それらを読みます