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

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

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

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

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

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

Q&A

解決済

2回答

2093閲覧

android studio ランダムに複数の値を習得してテキストを変更したい

papas1888

総合スコア6

Java

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

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

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

0グッド

0クリップ

投稿2021/10/13 08:25

編集2021/10/14 06:27

ガチャガチャのシミュレーションのようなものを作っています。
MainActivityでランダムな値を習得してResultActivityで習得した値によってテキストを変更しているのですが、例えば、reRで複数回乱数を習得してテキストに習得した乱数分結果を表示させることは可能でしょうか?

static int reR; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void resultBtn(View v){//(ボタン)ランダムな値を習得してResultアクティビティーへ移動 Random random = new Random(); reR = random.nextInt(100); Intent intent = new Intent(this, Result.class); intent.putExtra("result", reR); startActivity(intent); }
public class Result extends AppCompatActivity { private TextView date;//ガチャの結果のテキスト @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_result); date = findViewById(R.id.a); int score = getIntent().getIntExtra("result", 0); if(70<score){//ここでテキスト変更 date.setText("ノーマル"); }else{ date.setText("レア"); } } }

10/14追記

public class MainActivity extends AppCompatActivity { Random r = new Random(); int reR[]={r.nextInt(100),r.nextInt(100)};// @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void resultBtn(View v){//(ボタン)ランダムな値を習得してResultアクティビティーへ移動 //Random random = new Random(); //reR = random.nextInt(100); for(int i=0;i< reR.length;i++){ Intent intent = new Intent(this, Result.class); intent.putExtra("result", reR[i]); startActivity(intent); } } }
public class Result extends AppCompatActivity { private TextView date;//ガチャの結果 private TextView date2;//ガチャの結果2 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_result); date = findViewById(R.id.a); date2 = findViewById(R.id.b); int score = getIntent().getIntExtra("result", 0); if(50>score){ date.setText("ノーマル"); date2.setText("ノーマル"); }else{ date.setText("レア"); date2.setText("レア"); } } }

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

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

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

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

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

guest

回答2

0

自己解決

public class MainActivity extends AppCompatActivity { int[] reR =new int [3]; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void resultBtn(View v){//(ボタン)配列の要素をResultアクティビティーへ渡して移動 Intent intent = new Intent(this, Result.class); intent.putExtra("result", reR); startActivity(intent); } }
public class Result extends AppCompatActivity { private TextView date;//ガチャの結果 private TextView date2;//ガチャの結果 private TextView date3;//ガチャの結果 Random random = new Random(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_result); date = findViewById(R.id.a); date2 = findViewById(R.id.b); date3 = findViewById(R.id.c); Intent intent =getIntent(); int []reR= intent.getIntArrayExtra("result"); reR[0]=random.nextInt(100); reR[1]=random.nextInt(100); reR[2]=random.nextInt(100); if(50>reR[0]){//一回目 date.setText("N"); }else{ date.setText("SR"); } if(50>reR[1]){//二回目 date2.setText("N"); }else{ date2.setText("SR"); } if(50>reR[2]){//三回目 date3.setText("N"); }else{ date3.setText("SR"); } } }

投稿2021/10/14 14:27

papas1888

総合スコア6

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

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

jimbe

2021/10/14 15:32

reR[0]=random.nextInt(100); reR[1]=random.nextInt(100); reR[2]=random.nextInt(100); の三行は MainActivity に移動させないと意味が無いと思いますが…。 if 文の部分はメソッドに纏めると少しは綺麗(?) になると思います。 setRarityText(date, reR[0]);//一回目 setRarityText(date2, reR[1]);//二回目 setRarityText(date3, reR[2]);//三回目 private void setRarityText(TextView view, int value) { if(50>value){ view.setText("N"); }else{ view.setText("SR"); } }
guest

0

Intent には配列も入れられますので可能でしょう。

投稿2021/10/13 14:36

jimbe

総合スコア12646

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

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

papas1888

2021/10/14 06:43

ありがとうございます。10/14の追記にコードを追加させていただきました。Intentで複数の値を習得することができたのですが二回Intentをしてしまうのと、テキストのデータは二つとも一回目のランダムの値を習得してしまうので、dateにはreR[0],date2にはreR[1]の値を習得させるにはどうすればよいでしょうか?
jimbe

2021/10/14 06:54

Intent のドキュメント(https://developer.android.com/reference/android/content/Intent ) をお読みになっていらっしゃいますでしょうか。 putExtra には(オーバーロードされた)幾つも種類があり、その中には配列をそのまま渡すモノ(https://developer.android.com/reference/android/content/Intent#putExtra(java.lang.String,%20int[]) )があります。 勿論、取り出す際もそれに応じたモノ(https://developer.android.com/reference/android/content/Intent#getIntArrayExtra(java.lang.String) )とする必要があります。
papas1888

2021/10/14 14:28

if文のところがきれいじゃないですが、解決できました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問