###前提・実現したいこと
・Androidアプリを開発したく、Webサイト(リンク)を見ながら見よう見まねでプログラミングをしています。
・プログラミングツールはAndroid Studioを使用しています。
・一旦HPの内容までは完成できたので、ここから「人数や金額が”1以上の数字”以外」の場合は計算させずに入力を正しくするよう注意喚起する方法を教えていただきたい。
###発生している問題・エラーメッセージ
java.lang.NumberFormatException: Invalid int: ""
###該当のソースコード
java
1 2package com.example.splitthecost; 3 4import android.os.Bundle; 5import android.app.Activity; 6import android.view.Menu; 7import android.view.View; 8import android.widget.Button; 9import android.widget.EditText; 10import android.widget.TextView; 11 12public class MainActivity extends Activity { 13 14 @Override 15 protected void onCreate(Bundle savedInstanceState) { 16 super.onCreate(savedInstanceState); 17 setContentView(R.layout.activity_main); 18 19 Button btn = (Button)findViewById(R.id.btnCalc); 20 btn.setOnClickListener(new View.OnClickListener() { 21 public void onClick(View v) { 22 // オブジェクトを取得 23 EditText etxtNum = (EditText)findViewById(R.id.eTxtNum); 24 EditText etxtMoney = (EditText)findViewById(R.id.eTxtMoney); 25 TextView txtResult = (TextView)findViewById(R.id.txtResult); 26 27 // 入力内容を取得 28 String strNum = etxtNum.getText().toString(); 29 String strMoney = etxtMoney.getText().toString(); 30 31 // 数値に変換 32 int num = Integer.parseInt(strNum); 33 int money = Integer.parseInt(strMoney); 34 35 // 割り勘計算 36 int result = money / num; 37 38 // 結果表示用テキストに設定 39 txtResult.setText(Integer.toString(result)); 40 41 } 42 }); 43 } 44 45 @Override 46 public boolean onCreateOptionsMenu(Menu menu) { 47 // Inflate the menu; this adds items to the action bar if it is present. 48 getMenuInflater().inflate(R.menu.main, menu); 49 return true; 50 } 51 52}
###試したこと
・onClickメソッド内にif関数でstrNumやnumの条件を指定し(例:if(num == "") や if(!(num >= 1) )、条件分岐をしてみたりしましたが、いずれも人数をブランクにするとエラーメッセージが表示され、エラーを回避できませんでした。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。