プロが教える店舗&オフィスのセキュリティ対策術

課題3の部分を表7.4を使って埋めて完成させるのですが、さっぱりです。
ソースファイル 7.3 を完成させなさい.Ban クラスは,表 7.4 のコンストラクタとメ
ソッドを備える.
ソースファイル 7.3: Ban.java
1 /** 3x3 の盤面.盤にマルやバツを置く.盤面を標準出力に表示する.勝敗の判定を担う */
2 class Ban {
3 /** 盤の大きさ(幅・高さ) */
4 static final int N = 3;
5 /** マルが置かれたマスの値.盤面の判定結果として,マルが勝ちの値 */
6 static final int MARU = 1;
7 /** バツが置かれたマスの値.盤面の判定結果として,バツが勝ちの値 */
75
8 static final int BATSU = -1;
9 /** 空きマスの値.判定結果として,勝敗はわからないことを示す値 */
10 static final int AKI = 0;
11 /** 盤のマス目の状態 */
12 private int[][] masu;
13
14 //
15 // 課題3 (コンストラクタとメソッド)
16 //
17 }

「javaについての問題です。わからないの」の質問画像

A 回答 (2件)

コンストラクタは


Ban(){
masu = new int [N][N];}
以下、
boolean isBlank(int ,iny y){
if(get(x,y) == AKI)return true;
return false;
}
int get(int ,iny y){
return masu[x][y];
}
boolean put(int ,iny y,int maruBatsu){
if(masu[x][y]==AKI){masu[x][y]=maruBatsu;return true;}
else return false;
}
boolean isFull(){
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){
if(masu[i][j]==AKI)return false;
}
}
return true;
}
void display(){
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){
System.out.print(masu[i][j);
}
System.out.println();
}
}
int checkWon(){
int wonMARU=0;int wonBATSU=0;
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){
if(masu[i][j]==MARU)wonMARU++;
else if(masu[i][j]==BATSU)wonBATSU++;
else return AKI;
}
}
if(wonMARU<wonBATSU)return MARU;
else return BATSU;
}
いい加減ですが、こんな感じで作ってみてはどうですか。
    • good
    • 0

> 課題3の部分を表7.4を使って埋めて完成させるのですが、さっぱりです。



うん。
誰に訊いても「さっぱりです」って言うんじゃないの?
忖度あり、で考えてくれる人もいるだろうけど、その数は少ないだろうね。

大体、プログラム書く人って自分のためならいざ知らず、「他人が渡してきた」ものを読んで、曖昧だと手を付けないよね。
そういうのを「仕様が曖昧だ」って言うんだけど。

例えば、写真のメソッドBan。コンストラクタ、って書いてるけど、一体何を受け取って何をデータとして作るのか全く書いてない。
要は「何をさせたい」のかサッパリ分からんのだよ。
こんなんじゃ「ダメ」だ。

加えるとCheckWon()もそう。一体何をもって「勝ち負けを判定する」んだろ?何も書いてないんだよな。
これも「仕様が曖昧だ」って事だ。
仕事を請けたプログラマとか、こんなん見ても突っ返すよ。いや、突っ返したい人が多い、って事か(笑)。仕事取ってきた営業と上司のタッグに来られたらどーしよーもねぇか(笑)
まぁ、いずれにせよ「こんな曖昧な仕様」だとどーしよーもないです。
貴方も、これが宿題で、これが全てだったら堂々と先生に突っ返していいですよ。
「仕様が曖昧なので宿題の要件を満たしてません」と(笑)。

そもそも、こんなんじゃ、「何が作りたいのか」もハッキリせんしね。
ダメな質問の典型例、って事になってます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!