Java中的ValueErrors等?

Java中的ValueErrors等?,java,android,error-handling,Java,Android,Error Handling,我正在编写一个简单的javaandroid应用程序,由于我对该语言完全陌生,我不知道如何处理错误。例如,在Python中,如果有人输入的不是整数,而您要求输入整数,则可以有一行“except ValueError://do something”代码。我希望能够在我的Android应用程序中做到这一点。这是我需要它工作的代码 public void onButtonClick(View v) { EditText e1 = (EditText)findViewById(R.id.tota

我正在编写一个简单的javaandroid应用程序,由于我对该语言完全陌生,我不知道如何处理错误。例如,在Python中,如果有人输入的不是整数,而您要求输入整数,则可以有一行“except ValueError://do something”代码。我希望能够在我的Android应用程序中做到这一点。这是我需要它工作的代码

public void onButtonClick(View v) {
     EditText e1 = (EditText)findViewById(R.id.totalprod);
     EditText e2 = (EditText)findViewById(R.id.scrap);
     TextView t1 = (TextView) findViewById(R.id.percentage);
     Float num1 = Float.parseFloat(e1.getText().toString());
     Float num2 = Float.parseFloat(e2.getText().toString());
     Float firstsum = num2 / num1;
     Float finalsum = firstsum * 100;
     t1.setText(Float.toString(finalsum)+("%"));
}

您可能希望阅读Java教程中关于异常的部分,网址为。如果您不理解异常,您可能很难用Java编写代码


Java中的异常不同(与其他语言相比)。我已经用Python编写了大量代码,几乎没有错误处理(这不是一个好的实践)。但代码是有效的。在Java中,这是不可能的。因为很多方法都返回检查过的异常,您需要处理这些异常。

如果您真的想在Android上使用Python,可以使用Kivy

与Python一样,JavaAPI文档将告诉您捕获的异常

这里是
NumberFormatException

 Float num1 = 0, num2 = 0; 
 try { 
     num1 = Float.parseFloat(e1.getText().toString());
     num2 = Float.parseFloat(e2.getText().toString());
 } catch (NumberFormatException e) { }

 Float firstsum = 0;
 if (num1 != 0) { // divide by zero doesn't need try-catch
     firstsum = num2 / num1;
 }
 Float finalsum = firstsum * 100;
 t1.setText(String.format("%.2f%%", finalsum));

此外,您不需要对象
float
可以

Google“java try-catch”。它与Python非常相似。要找出要捕获的异常,只需查看输入非浮点时发生的情况。您还可以将属性inputType in xml用于editText并将其设置为number@KavachChandra我已经做过了。如果你没有在其中一个字段中输入一个数字,我只是希望应用程序不要崩溃,然后按下按钮。如果你正确设置了inputType,你只能键入数字