Wenn der Benutzer den Editiertext leer gelassen hat, tritt ein Fehler auf: java.lang.NumberFormatException: Invalid int: "". Der Fehler kommt in Zeile
%Vor%und auch in der Zeile
%Vor%Calci.java
%Vor%LogCat:
%Vor%Jeder hat eine Idee, wie man diesen Stack-Trace-Fehler löst.
Verwenden Sie ==
nicht für den Vergleich von Zeichenfolgen. Siehe Wie kann ich Zeichenfolgen in Java vergleichen?
NumberFormatException
Da Sie vom Benutzer bereitgestellte Eingaben analysieren, sollten Sie die Ausnahme abfangen und den Analysefehler entsprechend behandeln.
Sie konvertieren den Wert Ihres editedtext in einen String wie unten in Ihrem Code
%Vor%Sie müssen also
verwenden %Vor%statt
%Vor%und noch eine Sache, die Sie ändern müssen, ist diese Zeile
%Vor%mit
%Vor%Das Problem ist irreführend, es handelt sich um die Größe einer Ganzzahl, da java int: 2 ^ 32-1 ist, Ihre Ganzzahl kann aus 10 Ziffern bestehen, zB: 0123456789. Wenn die Ganzzahl jedoch 11 Ziffern ist, zB: 0123456789 *** 1 ***. dann müssen Sie BigInteger verwenden, siehe: Ссылка