私は個人的な興味のためにアンドロイドプロジェクトに取り組んでいます。私は複数のEditTextフィールドで作業しており、すべてゼロ以外の10進数または整数に入力する必要があります。 xmlファイルでは、数値または小数点しか受け付けないことを指定しました。私はあまりJavaに精通していませんが、私はtry/catchメソッドと、それぞれのEditText値をdoubleとして解析しようとしているときにどのように使用されているのかを読んでいます。現時点では、すべてのフィールドがいっぱいになると正常に動作しますが、誤ってフィールドを入力することを忘れた場合、クラッシュする代わりにエラーメッセージが表示されるように、何らかの例外処理を追加します。これは多くのように聞こえるが、私はそれがかなり軽微だと思う。ここで私が使用している計算方法です。あなたのレビュー:)ありがとうございAndroid:空のEditTextフィールドを確認する
public static void calculate() {
NumberFormat formatter1 = new DecimalFormat("#0.00");
NumberFormat formatter2 = new DecimalFormat("#0.00000");
Editable evG1F = etG1F.getText();
Editable evG1U = etG1U.getText();
Editable evG2F = etG2F.getText();
Editable evG2U = etG2U.getText();
Editable evG3F = etG3F.getText();
Editable evG3U = etG3U.getText();
Editable evWin = etWin.getText();
double g1f = 0.0;
double g1u = 0.0;
double g2f = 0.0;
double g2u = 0.0;
double g3f = 0.0;
double g3u = 0.0;
double p1odds, p2odds, p3odds, p4odds, p5odds, p6odds, p7odds, p8odds;
double totalParlay, profit, finalOdds, risk;
win = 0.0;
g1f = Double.parseDouble(evG1F.toString());
g1u = Double.parseDouble(evG1U.toString());
g2f = Double.parseDouble(evG2F.toString());
g2u = Double.parseDouble(evG2U.toString());
g3f = Double.parseDouble(evG3F.toString());
g3u = Double.parseDouble(evG3U.toString());
win = Double.parseDouble(evWin.toString());
p1odds = (1/(g1f * g2f * g3f));
p2odds = (1/(g1f * g2f * g3u));
p3odds = (1/(g1f * g2u * g3f));
p4odds = (1/(g1f * g2u * g3u));
p5odds = (1/(g1u * g2f * g3f));
p6odds = (1/(g1u * g2f * g3u));
p7odds = (1/(g1u * g2u * g3f));
p8odds = (1/(g1u * g2u * g3u));
totalParlay = (p1odds + p2odds + p3odds + p4odds + p5odds + p6odds
+ p7odds + p8odds);
profit = 1 - totalParlay;
finalOdds = ((profit/totalParlay) + 1);
risk = (win/(finalOdds - 1));
p1 = ((risk + win) * p1odds);
p2 = ((risk + win) * p2odds);
p3 = ((risk + win) * p3odds);
p4 = ((risk + win) * p4odds);
p5 = ((risk + win) * p5odds);
p6 = ((risk + win) * p6odds);
p7 = ((risk + win) * p7odds);
p8 = ((risk + win) * p8odds);
sRisk = risk;
sFinalOdds = finalOdds;
tvRisk.setText("$" + formatter1.format(Parlay.sRisk));
tvOdds.setText("" + formatter2.format(Parlay.sFinalOdds));
}
このコードは配列を叫ぶ。 – MByD