ここから本文です

Android studioを使って電卓アプリ作成に取り組んでいます。1桁の演算はできるよう...

dbh********さん

2018/10/1121:02:36

Android studioを使って電卓アプリ作成に取り組んでいます。1桁の演算はできるようになったのですが、二桁の演算や負の数の演算ができません。

ソースコードの一部を以下に掲載しますが、flagという変数を用いて状態を場合分けして考えています。二桁や負の数を考える場合はどの様にすればいいのかヒントで良いので教えてもらえるとありがたいです。

<ソースコードの一部を抜粋>
変数a, b, kekka, kekka2はそれぞれ,前項, 後項, int型計算結果, double型計算結果
.
.
.

Button bt5 = (Button) findViewById(R.id.button5);
bt5.setText("5");
bt5.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
tv1.setText("5");

if (flag == 0) {
a = 5;
tv1.setText("" + a);
} else {
b = 5;
tv1.setText("" + b);
}
}
});
.
.
.
// CAボタンが押された時に初期状態(flag = 0)

Button bt10 = (Button) findViewById(R.id.button10);
bt10.setText("CA");
bt10.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
tv1.setText("CA");
flag = 0; //初期状態にリセット
tv1.setText("計算しましょう");
}
});


// "+"ボタンが押された時にflag = 1に設定

Button bt11 = (Button) findViewById(R.id.button11);
bt11.setText("+");
bt11.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
tv1.setText("+");
flag = 1;
}
});

.
.
.
// "="ボタンが押された時にflagの状態で場合分けして演算

Button bt15 = (Button) findViewById(R.id.button15);
bt15.setText("=");
bt15.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
if (flag == 1) {
kekka = a + b;
tv1.setText("" + kekka);
} else if (flag == 2) {
kekka = a - b;
tv1.setText("" + kekka);
} else if (flag == 3) {
kekka = a * b;
tv1.setText("" + kekka);
} else {
kekka2 = (double) a / b;
tv1.setText("" + kekka2); // 割り算はdouble型
}
flag = 0; //初期状態にリセット
}
});

閲覧数:
30
回答数:
1

違反報告

ベストアンサーに選ばれた回答

unn********さん

2018/10/1300:25:25

まず、数字入力中の状態を作る必要があります。
その上で、表示中の数値をx、押された数値yと
おいて、x=x*10+yを新規で表示中の数値します。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

あわせて知りたい

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる