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

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

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

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

Q&A

1回答

1386閲覧

じゃんけんぷプログラム

ookei

総合スコア0

Java

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

0グッド

0クリップ

投稿2021/06/17 12:53

編集2021/06/17 14:35
コード import java.util.Scanner; import java.util.Random; class FingerFlashing { public static void main(String[] args) { Scanner stdIn = new Scanner(System.in); Random rand = new Random(); String[] hands = {"グー", "チョキ", "パー"}; int retry; // もう一度行うか? do { // コンピュータの手を0, 1, 2の乱数として生成 int comp = rand.nextInt(3); // プレーヤの手を0, 1, 2で読み込む int user; do { System.out.print("じゃんけんポン"); for (int i = 0; i < 3; i++) System.out.printf("(%d)%s ", i, hands[i]); System.out.print(":"); user = stdIn.nextInt(); } while (user < 0 || user > 2); // 両者の手を表示 System.out.println("私は" + hands[comp] + "で、あなたは" + hands[user] + "です。"); // 判定 int judge = (user - comp + 3) % 3; switch (judge) { case 0: System.out.println("引分けです。"); break; case 1: System.out.println("あなたの負けです。"); break; case 2: System.out.println("あなたの勝ちです。"); break; } // もう一度行うかどうかを確認 do { System.out.print("もう一度? (0)いいえ (1)はい:"); retry = stdIn.nextInt(); } while (retry != 0 && retry != 1); } while (retry == 1); } }
コンピュータの手の数 n を最初に入力し,コンピュータの手を n となるようにし,自分の手と合わせて n+1 の手に対する勝敗を表示するプログラムを作成しなさい.という課題が出たのですがどうやったらいいかわかりません。 ここに質問の内容を詳しく書いてください。

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

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

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

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

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

kaina

2021/06/17 13:41

>どうやったらいいかわかりません。 そりゃあ仕様を何も考えて無いから分かるわけ無いです。 「じゃんけんぷプログラム」とやらの「仕様」を決めて下さい。 コンピュータの手の数 nとは何ですか?入力する範囲はありますか? 自分の手はどのようにして決定されますか? 「勝敗」の判断基準は何ですか?
BeatStar

2021/06/17 13:42

仕様があまりにも曖昧です。 仕様を考えましょう。
BeatStar

2021/06/17 13:45

回答者は質問者と同じく環境にある…わけじゃないです。 『俺様がわかっているんだから、回答者は普通にわかるだろ。プロなんだからよ』は暴論です。
ookei

2021/06/17 13:49

最近習い始めたのでまだjavaについて無知なのですいませんでした。ヒントには以下のじゃんけんプログラムをもとにして作れと書いてありました。 import java.util.Scanner; import java.util.Random; class FingerFlashing { public static void main(String[] args) { Scanner stdIn = new Scanner(System.in); Random rand = new Random(); String[] hands = {"グー", "チョキ", "パー"}; int retry; // もう一度行うか? do { // コンピュータの手を0, 1, 2の乱数として生成 int comp = rand.nextInt(3); // プレーヤの手を0, 1, 2で読み込む int user; do { System.out.print("じゃんけんポン"); for (int i = 0; i < 3; i++) System.out.printf("(%d)%s ", i, hands[i]); System.out.print(":"); user = stdIn.nextInt(); } while (user < 0 || user > 2); // 両者の手を表示 System.out.println("私は" + hands[comp] + "で、あなたは" + hands[user] + "です。"); // 判定 int judge = (user - comp + 3) % 3; switch (judge) { case 0: System.out.println("引分けです。"); break; case 1: System.out.println("あなたの負けです。"); break; case 2: System.out.println("あなたの勝ちです。"); break; } // もう一度行うかどうかを確認 do { System.out.print("もう一度? (0)いいえ (1)はい:"); retry = stdIn.nextInt(); } while (retry != 0 && retry != 1); } while (retry == 1); } }
kaina

2021/06/17 14:05

別に責めているわけではありません。 初心者なら尚更、いきなりjavaのプログラムを作らないで、まず与えられた課題を 日本語で日本語で定義してみては?と言っています。 あなたが書いた質問の中の課題は曖昧な情報が多数含まれてますよね? 例えば、「コンピュータの手の数 n」というのは恐らくじゃんけんのグー、チョキ、パーを 数字に置き換えて考える必要があると理解したとします。 そうすると、あなたがもとにして作れと渡されたプログラムから グーは0、チョキは1、パーは2と定義すれば良いのではないかと考えられませんか? このようにして、まずはプログラムを書く前段階として仕様を作りましょう。 その仕様が無いとプログラムは作れませんよ。
BeatStar

2021/06/17 14:18

そもそも、追記としてのコード等はここに書かずに、本質問に書きましょう。 編集できますから。 編集時に、コードは"<code>"または"<コード>"のボタンを押して出てくるやつの中に書きましょう。
BeatStar

2021/06/17 14:32

編集時に、コードは"<code>"または"<コード>"のボタンを押して出てくるやつの中に書きましょう。
gentaro

2021/06/17 18:47

そんな事よりもまず「先生に聞け」って話だと思うけども。 https://teratail.com/help/avoid-asking 「コードをください・デバッグしてください等の丸投げの質問 何かを作りたいのでコードを書いてほしい、学校の課題を解いてほしい等の質問は、具体的にプログラミングで困っている質問ではないと考え、推奨していません。」
guest

回答1

0

まず、すぐにコードを書く人はいないです。
(似たような問題を解いたことがあるなら別ですが)

まずは仕様を確認してください

私の過去の回答を参考にしてみてください。

投稿2021/06/17 14:42

BeatStar

総合スコア4962

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問