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

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

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

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

ループ

ループとは、プログラミングにおいて、条件に合致している間、複数回繰り返し実行される箇所や、その制御構造を指します

Q&A

解決済

3回答

5771閲覧

Java ヌメロン 数当てゲーム

jeep-boy

総合スコア6

Java

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

ループ

ループとは、プログラミングにおいて、条件に合致している間、複数回繰り返し実行される箇所や、その制御構造を指します

0グッド

0クリップ

投稿2020/03/25 03:37

Javaを使った4桁のヌメロンゲームを作成したいと考えております。

自身で考えれる必要なメソッドは書きましたが
下記の要件で他にどのようなメソッドが必要かわかりません。

ご教授いただければ幸いです。

=============
・開始

・無限ループ(while)
・4桁のランダム数値を生成する

・ユーザーの数値を4桁で受け付ける

・ユーザー数値1桁目とランダム数値1桁目を比較する
・(for)数値がかぶればeatに1を加算
・(else)biteに1を加算
・4ケタまで比較し終えたら終了(break)

・9回目の実行で「ゲームオーバーです。」というメッセージを表示

・生成した乱数を表示

=============

public class Numeron{

//それぞれの箱を用意するメソッド public static void main(String[] args){ int watasi = 0; int cpu = ransu; int game = 0; } } //数字を入力する public static void yosou(String[] args){ Scanner scanner = new Scanner(System.in); System.out.println("0~9までの数字を入力してください"); int watasi = scanner.nextInt(); } //9までの乱数を生成する

public static void ransu(String[] args){
Random ransu =new ransu():
int ransuValue = ransu.nextInt(9)
}

//比較と真偽処理

public static void hikaku(String[] args){
if(watasi == cpu){
System.out.println("正解")
else{
System.out.println("違います");

//偽の場合のカウント if(game == 8){ System.out.println("ゲームオーバーです") else{ game++; } } } } }

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

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

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

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

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

jimbe

2020/03/25 04:11

一時的に似たような内容が集まってくるのは, どちらかの学校や企業, 学習サイトなどからの出題でしょうか. 宜しかったら, javaやこの課題(?)をやろうと思われた(orやることになった)経緯を教えて頂けますか.
jeep-boy

2020/03/25 07:50

jimbe様 ご返答ありがとうございます。 おっしゃいます通りJava、課題ともに企業からの出題でございます。 自身が未経験という事で学びのために出題頂いた次第でございます。
guest

回答3

0

下記の要件で他にどのようなメソッドが必要か

の前に, 現在のコードでコンパイルが通りません.
現状でコードを全て書いてからコンパイルして動かそうというのは無茶です. 小学生が自動車を全部手作りして全体が完成してから初めて動かそうという風です.

まず(メソッドに分けず)全て main 内に並べる形で, 少しずつ追加してはコンパイル・実行して動かしながら(エラーが出たらその解決を優先しつつ)作っていっては如何でしょうか.

投稿2020/03/25 04:29

jimbe

総合スコア13209

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

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

jeep-boy

2020/03/25 07:53

jimbe様 ありがとうございます。 あまりにも無謀な事をしていたわけですね。 おっしゃいました通りすこしずつ追加して実行を繰り返したいと思います。
guest

0

テレビの影響か「ヌメロン」という名前で呼ばれることが多いようですが、もとのゲーム名を「ヒットアンドブロー」または「マスターマインド」と呼ぶので、そっちで調べたほうがいいかと思います。

投稿2020/03/25 04:12

swordone

総合スコア20669

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

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

jeep-boy

2020/03/25 07:54

swordone様 そのような名称もあるんですね。 調べてみます。 ありがとうございました。
guest

0

ベストアンサー

まず、コード、読みづらいです。
インデントが無視されているので、非常に読みづらいです。

編集できますから、編集時に "<コード>" ( または "<code>" ) となっているボタンを押して、その中にコードを記述してください。


[質問について]

おそらく、基礎すらできていないと思います。

それぞれの箱を用意するメソッド

とありますが、これはなんですか? "箱" じゃなくて "変数" では。

そして、yosouメソッドを作っておきながら、呼び出していない。
しかも引数がすべて String[] args で メソッドの型もすべてvoidになっています。
おそらく、「定義しておけば勝手に呼び出される」と思っているのかもしれませんが、
まちがいです。
メソッド定義なんかはあくまで定義です。
呼び出す処理をしてやっと動きます。

また、hikakuメソッド内で、

  1. watashi が cpu と同じなら"正解"
  2. それ以外なら

2.1. "違います"を表示
2.2. "偽の場合のカウント" を行う

みたいになっています。

バッチファイルなんかのようなものなら仕方ないですが、
C言語, C++, Javaといった言語であれば、else if を使ったほうがいいです。
("偽の場合のカウント" のほう)

投稿2020/03/25 03:55

BeatStar

総合スコア4962

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

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

jeep-boy

2020/03/25 08:07

BeatStar様 インデント、大変申し訳ございません! 今後は編集で正しく記述していきたいとおもいます。 箱という表現も誤りでございました、変数でございますね。 メソッド型、引数に関しましても頂きましたアドバイスで理解を深めたいと思います。 アドバイス頂きましたとおりelseではなくelse ifで直しました。 本当にありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問