HOME»基本情報技術者試験掲示板»平成31年春期  問11Javaについて
投稿する

[4795] 平成31年春期  問11Javaについて

 ぱせりさん(No.1) 
問11 迷路と迷路上を移動する駒についての質問です。
プログラム5について、「駒を操作し、履歴リストを表示する。」とありました。
System.out.println(history);で履歴リストを表示していることは分かるのですが、駒を操作する処理が記述されていないように感じました。
piece.turnLeft()で左向いて、piece.turnRight()で右向いてるだけで、方向変えてるだけだと思いました。

while(!piece.〜)で条件を満たさなくなったときに()の中身の処理を行っているのかな?と無理矢理理解していますが、この認識で合っているのでしょうか。
2023.04.15 16:11
miyatanさん(No.2) 
while(!ナントカ)はナントカがfalseである間、{}内のモノを繰り返し行います。
while(!piece.tryStepForward)に来た段階で
tryStepForward が試みられ、「隣接する前方の升が通路でなければ,前進せずにfalseを返」されるので{piece.turnRight()}を繰り返す。
「隣接する前方の升が通路なら1升前進し,前進した方角を履歴リストに追加してからtrueを返」されるのでwhileから抜ける。
かなと思います。
2023.04.15 18:40
 ぱせりさん(No.3) 
miyatanさん
非常に分かりやすい説明ありがとうございます!
頭を悩ませていたのですが、今の解説でスッキリしました!
2023.04.15 19:11

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。
© 2010-2024 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop