本文
うまく動くようになったので改善できるところを教えてください。
(例外は発生しているか試しました)
Java
1package com.mycompany.myappdiceplus; 2import android.app.*; 3import android.os.*; 4import android.widget.*; 5import android.view.View.*; 6import android.view.*; 7import java.util.*; 8import android.media.*; 9import android.content.*; 10import android.widget.AutoCompleteTextView.*; 11 12public class MainActivity extends Activity{ 13 MediaPlayer SE; 14 15 16 protected void onCreate(Bundle savedInstanceState){ 17 super.onCreate(savedInstanceState); 18 setContentView(R.layout.main); 19 Button button=(Button)findViewById(R.id.bn); 20 button.setOnClickListener(new OnClickListener(){ 21 public void onClick(View Vector){ 22 23 final EditText DC=(EditText)findViewById(R.id.Dc); 24 TextView math=(TextView)findViewById(R.id.text); 25 math.setText("???"); 26 final EditText MAX=(EditText)findViewById(R.id.MAX); 27 final EditText kai=(EditText)findViewById(R.id.math); 28 SE.start(); 29 int max=0; 30 int dice = 0; 31 32 int kaisu=0; 33 34 35 max=Integer.parseInt(MAX.getText().toString()); 36 dice=Integer.parseInt(DC.getText().toString()); 37 kaisu=Integer.parseInt(kai.getText().toString()); 38 try 39 { 40 Thread.sleep(1500); 41 } 42 catch (InterruptedException e) 43 { 44 e.printStackTrace(); 45 System.exit(1); 46 } 47 int[] sum = new int[kaisu]; 48 StringBuilder strings=new StringBuilder(); 49 int Random = 0; 50 51 int dex=sum.length; 52 dex--; 53 for(int i=0;i<=dex;i++){ 54 sum[i]=new Random().nextInt(max); 55 Random+=sum[i]; 56 } 57 strings.append(Random <= dice ? "成功(" : "失敗("); 58 strings.append(Random).append("="); 59 60 for(int index:sum){ 61 strings.append(index); 62 strings.append(","); 63 } 64 strings.append(")"); 65 66 String ans=strings.toString(); 67 math.setText(ans); 68 } 69 }); 70 } 71 72 @Override 73 protected void onResume() 74 { 75 super.onResume(); 76 SE = MediaPlayer.create(this, R.raw.niconico); 77 78 } 79 80 @Override 81 protected void onDestroy() 82 { 83 onStop(); 84 super.onDestroy(); 85 } 86}
直る前の文
結果:成功か失敗(右の合計=乱数,乱数…)
と表示したいのですが、
結果:成功(0=)
どうしてでしょうか。直し方を教えてください。
一部省く…
try{
max=Integer.parseInt(MAX.getText().toString());
dice=Integer.parseInt(DC.getText().toString());
kaisu=Integer.parseInt(kai.getText().toString());
Thread.sleep(1500);
}
catch (Exception e){
}
int kaisu-1;
…
回答2件
あなたの回答
tips
プレビュー