プログラミング初心者です。
数日前から、androidstudioで電卓アプリを作っています。
Javaの方で開発しています。
前提・実現したいこと
+ボタンを押した際に、押すまでに入力した値Aを保持させた後、次に入力する値Bをとして=ボタンが押されるまで保持させたいです。
その後、=ボタンを押したときに計算結果を表示します。
結果表示後に、=ボタンを押したら結果を値Aの中に入れて、入力される値Bと計算出来るように目指しています。
発生している問題・エラーメッセージ
数字のボタンが、押されたら画面表示させるためにappendを利用しています。
+や=ボタンが押された際に、使用するonClicの中にappendの変数を呼び出しています。
値Bを保持させるための、下記のnumberTwoに設定しているvalueOfで変換する変数を、
どう用意と、画面の表示の修正をどうすれば良いのか悩んでいます。
・現状
・最初に6を入力し、+を押します。
・+を押した際に画面の表示が、0となります。
・2を押すと、画面には「2」だけが表示されず、「62」が表示されます。
・=を押すと、「62」が「68」と表示されます。
・その後に、+を押すと表示が「62」に戻り、1を押すと桁が繰り上がり「621」となり、
=を押すと「683」となってしまいます。
該当のソースコード
private StringBuilder plus = new StringBuilder();
private int doChenge;
int numberOne ;
int numberTwo;
// 0~9のボタンを押した時
public void pushNumbers(View view){
switch (view.getId()){
case R.id.imageButton:
plus.append("1");
break;
case R.id.imageButton2:
plus.append("2");
break;
}
try {
doChenge = Integer.parseInt(String.valueOf(plus));
} catch (NumberFormatException e) {
}
text01.setText(String.format("%,d",doChenge) + "" );
numberOne = Integer.parseInt(String.valueOf(doChenge));
switch (view.getId()){
// +ボタンを押した時
case R.id.imageButton14:
numberTwo = doChenge;
text01.setText(numberTwo + "");
break;
// =ボタンを押した時
case R.id.button2:
numberOne = numberOne + numberTwo;
break;
}
text01.setText(numberOne + "");
}

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/30 21:15
2019/07/31 03:15
2019/07/31 11:45