課題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 }
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.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;
}
いい加減ですが、こんな感じで作ってみてはどうですか。
No.1
- 回答日時:
> 課題3の部分を表7.4を使って埋めて完成させるのですが、さっぱりです。
うん。
誰に訊いても「さっぱりです」って言うんじゃないの?
忖度あり、で考えてくれる人もいるだろうけど、その数は少ないだろうね。
大体、プログラム書く人って自分のためならいざ知らず、「他人が渡してきた」ものを読んで、曖昧だと手を付けないよね。
そういうのを「仕様が曖昧だ」って言うんだけど。
例えば、写真のメソッドBan。コンストラクタ、って書いてるけど、一体何を受け取って何をデータとして作るのか全く書いてない。
要は「何をさせたい」のかサッパリ分からんのだよ。
こんなんじゃ「ダメ」だ。
加えるとCheckWon()もそう。一体何をもって「勝ち負けを判定する」んだろ?何も書いてないんだよな。
これも「仕様が曖昧だ」って事だ。
仕事を請けたプログラマとか、こんなん見ても突っ返すよ。いや、突っ返したい人が多い、って事か(笑)。仕事取ってきた営業と上司のタッグに来られたらどーしよーもねぇか(笑)
まぁ、いずれにせよ「こんな曖昧な仕様」だとどーしよーもないです。
貴方も、これが宿題で、これが全てだったら堂々と先生に突っ返していいですよ。
「仕様が曖昧なので宿題の要件を満たしてません」と(笑)。
そもそも、こんなんじゃ、「何が作りたいのか」もハッキリせんしね。
ダメな質問の典型例、って事になってます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- Java Java 配列<選挙> 4 2023/07/31 15:07
- C言語・C++・C# C言語 3 2022/10/04 15:07
- Java java 引数 戻り値のあるメソッド 3 2023/02/12 06:23
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Javaで電卓を作りたい
-
javaでcsvファイル読込時の改行...
-
(Swing)JTextFieldを半角のみ入...
-
式の型は配列型で int に解決済...
-
C#2005 Imagelistの余白の除去...
-
JSPのアルゴリズムで質問
-
JAVAでCの関数ポインタのような...
-
Java3Dで円錐台を描く方法を教...
-
偶数奇数の判定
-
DataSet(DataTable)の使い方
-
C#で実行時にメソッドの返り値...
-
助けてください
-
JAVA EOFの検出 (条件文で「...
-
6桁の数字を重複なしでランダム...
-
C#で「型または名前空間名 'int...
-
java spring でエラーが出て困...
-
javaでカレンダー作成
-
Javaで改行などが出来ないのです。
-
オブジェクトの中のプロパティ...
-
C言語のポインターに関する警告
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
式の型は配列型で int に解決済...
-
「配列定数は、イニシャライザ...
-
javaでcsvファイル読込時の改行...
-
java spring でエラーが出て困...
-
javaでカレンダー作成
-
Javaで電卓を作りたい
-
SwingでJtableのヘッダ行が表示...
-
JAVA エラー 式の開始が不正で...
-
JAVAでCの関数ポインタのような...
-
C#で実行時にメソッドの返り値...
-
(Swing)JTextFieldを半角のみ入...
-
c# デリゲート関連の命名について
-
Javaでポインタ的なことはでき...
-
複数のボタンを配置し、それぞ...
-
javaのエラーの意味がわかりま...
-
JUnit4のアノテーションについて
-
sin曲線とcos曲線を描くプログ...
-
intが負の時に投げる例外はあり...
-
Java 初心者 int型の取り扱い方
-
C++からC#のdllを参照する際、...
おすすめ情報