Ich arbeite an einem Android-Projekt für persönliches Interesse. Ich arbeite mit mehreren EditText-Feldern und alle müssen in einer Nicht-Null-Dezimalzahl oder Integer gefüllt werden. Ich habe in meiner XML-Datei angegeben, dass es nur Zahlen oder Dezimalzahlen akzeptiert. Ich bin nicht vertraut mit Java, aber ich habe in die try/catch-Methode gelesen und wie es verwendet wird, wenn ich versuche, jeden der EditText-Werte als Doppel zu analysieren. Momentan läuft es gut, wenn alle Felder ausgefüllt sind, aber ich möchte eine Art der Ausnahmebehandlung hinzufügen, so dass die Anwendung eine Fehlermeldung anzeigt, wenn sie versehentlich ein Feld eingibt, anstatt zu stürzen. Das klingt nach viel, aber ich denke, es ist ziemlich unbedeutend. Hier ist meine Berechnungsmethode, die ich verwende. Vielen Dank für Ihre Bewertung :)Android: Nach leeren EditText Feldern suchen
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));
}
Dieser Code fordert ein Array. – MByD