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