質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

2回答

10826閲覧

トランプカード作成 インスタンスを用いて Eclipse Java

退会済みユーザー

退会済みユーザー

総合スコア0

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

2クリップ

投稿2017/03/09 07:37

トランプのカードを表現するクラスCardを作成してください。

属性は種類(suit)、数(number)、表裏(visible)を持ち、表裏は表(true)、裏(false)とします。
例) "ハート", 7, true

メソッドは表裏をひっくり返す「reverse()」を持ち、引数はなしで、戻り値もありません。

Cardクラスの定義が完了したら、mainメソッドを持つMainクラスで以下の処理を実行してください。

Cardクラスからインスタンスを生成
フィールドの値に種類=スペード、数=3、表裏=表を代入
reverse()メソッドを実行
フィールド値をスラッシュ区切りで表示(スペード/3/false)
スペード/3/false

public class トランプ {

public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ String Clubs = "クラブ"; String Diamonds = "ダイヤ"; String Hearts = "ハート"; String Spades = "スペード"; int Card = (int)(Math.random()*4 +1); if (Card ==1) { System.out.println(Clubs); } else if (Card ==2){ System.out.println(Diamonds); } else if (Card ==3){ System.out.println(Hearts); }else{ System.out.println(Spades); } int Num = (int)(Math.random()*13 +1); System.out.println(Num); int Count = (int)(Math.random()*2 +1); if (Count ==1){ System.out.println("True"); } else { System.out.println("False"); } System.out.println(Card/ Num/ Count); }

}
IF 文などを使えばできるのですが、インスタンスをしようして一つにまとめることができないです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

そもそもクラスを全く理解しないままでは、ズバリの解答を書いたとしても理解できないでしょうしためになりません。

まずはこのあたりを読んで、クラスとは何ぞや? を理解するようにしてください。
初心者のためのJava講座

投稿2017/03/09 07:44

tacsheaven

総合スコア13703

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Javaに関する基本的な知識が不足しているように思われます。Javaの入門書を1冊読み終えれば、回答できるレベルの課題だと思います。

まぁ、すこしコードの作り方の説明をしてみます。
基本的なやり方は、課題に書かれている順序で、コードを作ることです。
(以下、「」で囲っているのは、課題から抜き出した部分です。)

1-1)「トランプのカードを表現するクラスCardを作成してください」
クラスを作成するのですから、中身が無いクラス Cardを定義することから始めましょう。

public class Card { }

1-2)「属性は種類(suit)、数(number)、表裏(visible)を持ち、表裏は表(true)、裏(false)とします 例("ハート", 7, true)」なのですから、suitはString型、numberはint型、visibleはboolean型だと判ります。
3つのフィールドを付け加えましょう。

public class Card { string suit; int number; boolean visible; }

1-3)「メソッドは表裏をひっくり返す「reverse()」を持ち、引数はなしで、戻り値もありません。」
表裏はboolean型で、表(true)、裏(false)ですから、論理否定(!演算子)でひっくり返すを実現できますよね。

public class Card { string suit; int number; boolean visible; void reverse(){ // 引数なし、戻り値なし(void)のメソッド reverse visible = !visible; // ひっくり返す } }

ここまでが、回答の前半部分です。

後半部分は、課題に書かれている通りにコード化すればOKです。
「Cardクラスからインスタンスを生成
フィールドの値に種類=スペード、数=3、表裏=表を代入
reverse()メソッドを実行
フィールド値をスラッシュ区切りで表示」

完成したプログラムを実行して(Mainクラスのmainメソッドを実行して)、以下のように表示されたら完成です。
スペード/3/false

===
質問に書かれたコードは、乱数でスーツ、数字、裏表を決めて、それを表示するもののようですが、
課題の「Cardクラスからインスタンスを生成
フィールドの値に種類=スペード、数=3、表裏=表を代入
reverse()メソッドを実行
フィールド値をスラッシュ区切りで表示」
とは、かけ離れたものになっています。

もう少し素直に課題を読んで、課題で指示された通りにコードを作れば良いのではないでしょうか?

投稿2017/03/09 08:24

coco_bauer

総合スコア6915

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問