2011-06-21 7 views
0

2人以上のパーティーで外食をしているとしましょう。計算を助けるAndroidアプリを作成しようとしています。Bill Splitter Calculator Androidアプリのプログラムのロジック

あなたは請求書の小計を入力し、当事者の人数を入力し、該当する割引を入力します。7%の税率に2つのチェックボックスがあり、それがない場合は10%のサービス料が必要ですまだ法案に含まれている。最後に、アプリの「計算ボタン」をクリックして、各自が支払う必要のある金額を計算するだけです。

プログラムは、ユーザの入力には、 が任意のあります場合、追加の割引を計算する割引後の金額がかかり、 はさらに7%のGST税を計算する際にチェックボックスがチェックされている場合は小計金額を取るか、何もしません。チェックしていない場合は チェックボックスをオンにすると追加の10%のヒントを計算し、チェックしない場合は何もしません。

私はプログラムのロジックを実装しているかどうかわかりませんが、誰かがそれを確認してフィードバックを与えることができれば感謝します。アプリのロジックをすることになっている:

ここに私が書いたコードです:

gst = (CheckBox) findViewById(R.id.cbCheck1); 
    gst.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
     if (gst.isChecked()) { 
     result = result + (0.07 * result); 
    } 
    else { 
    result = result; 
     } 
    } 
    }); 


    tips = (CheckBox) findViewById(R.id.cbCheck2); 
    tips.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 
      public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
       if (tips.isChecked()) { 
       result = result + (0.1 * result);  
         } 
       else { 
       result = result; 
          } 
         } 
        }); 

      } 


       //Initialize EditTexts 
       String amount = enterAmount.getText().toString(); 
       double subtotal = Double.valueOf(amount).doubleValue(); 

       String diners = numberDiners.getText().toString(); 
       int people = Integer.parseInt(diners); 

       String disc = enterDiscount.getText().toString(); 
       int discount = Integer.parseInt(disc); 
       double discounted = discount/100; 

       result = (1 - discounted) * (subtotal/people); 

は、あなたの種類のフィードバックのすべてのために事前にありがとうございます。

+0

umm - なぜ税金をハードコードするのですか?または任意のチップまたはサービス料金?これらは変わります。 – jkhouw1

+0

ユーザがgstチェックボックス –

+0

をトグルし続けると、結果が増え続けるように見えますが、ユーザがチェックボックスをトグルしても増加しないように、これにどのようにアプローチすればよいでしょうか? 私が住んでいる国では、税金とサービス料が固定されているため、ハードコードする理由があります。 :) –

答えて

0

なぜ論理をカリパスと同じように使用しないのですか?合計請求書を入力し、人数を入力し、税金を入力してチップを入力します。

1) total = total * (1+tax) 
2) total = total * (1+tip) 
3) totalPerPerson = total/numPeeps 

本当に、私はあなたに何か大変なことを与えていることは確かではありません。

編集1:あなたの考えを考慮して、私の友人と私が外出したときに私たちが得たものだけを支払うこと。タブを均等に分割しません。あなたはその種の機能を追加することを検討できますか?

編集2:あなたのコメントに対処するには、常に結果を少なくとも結果に設定します。チェックボックスをオフにすると、アプリケーションのデフォルトに戻す必要があります。たぶんif (!isChecked) result = 1;

+0

フィードバックと追加機能をありがとう...私はそれを試してみます。ありがとう:) –

関連する問題