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

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

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

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

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

2回答

15482閲覧

ボタンを押した回数をカウントしたい

kimura

総合スコア59

Java

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

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2015/10/04 12:54

https://teratail.com/questions/12926

以前、上記の質問でおみくじの設定が出来ました。

ボタンを連打して何回で「大吉」が出たのか分かるようにしたいと思ってます。

検索したのですが設定方法が分からず教えていただければと思い質問させていただきました。

申し訳ありませんがご教授お願い致します。

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

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

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

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

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

guest

回答2

0

ベストアンサー

ベストアンサーの方のコードを引用しますね。

  1. クラス変数を作ります。(回数保存用)
  2. 大吉以外が出たら回数をプラス1します。
  3. 大吉が出たら回数を表示して、回数保存用の変数を0に戻します。

以下のように書けばいいです。

java

1public class omikuji { 2int count = 0; 3//↑classの直下に変数を定義すると、 4//クラス変数と言ってどのメソッドからでもアクセスできるようになります。 5~中略~ 6getOmikuji(View view) { 7~中略~ 8Random random = new Random(); 9int num = random.nextInt(20); 10if (num == 0) { 11 // 大吉 12 count ++; //大吉が出ても1回分なので、+1します。 13 System.out.println("大吉を表示するまでにかかった回数は"+count+"です。"); 14 count = 0; //大吉が出たのでカウントを0に戻す。 15} else if (1 <= num && num <= 4) { 16 // 中吉 17 count ++; //大吉以外が出たらおみくじカウントをプラス 18} else if (5 <= num && num <= 14) { 19 // 吉 20 count ++; //大吉以外が出たらおみくじカウントをプラス 21} else if (15 <= num && num <= 18) { 22 // 凶 23 count ++; //大吉以外が出たらおみくじカウントをプラス 24} else { // num == 19 25 // 大凶 26 count ++; //大吉以外が出たらおみくじカウントをプラス 27}

という感じです。

投稿2015/10/04 13:07

SKYYFISH

総合スコア654

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

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

0

結果を逐一ArrayListか何かに入れて,結果から大吉を探すようにすればいいのではないでしょうか.

java

1List<Integer> results = new ArrayList<Integer>(); 2 3//おみくじの結果の数字を逐一入れる 4 5//「大吉」=0が最初に出た位置を取得(0スタートなので1を足す) 6int firstDaikichi = results.indexOf(0) + 1;

投稿2015/10/04 12:59

swordone

総合スコア20651

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

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

kimura

2015/10/04 13:25

いつもありがとうございます。 勉強になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問