Java中的ValueErrors等?

时间:2017-07-30 22:52:16

标签: java android error-handling

我正在编写一个简单的Java Android应用程序,因为我对该语言完全陌生,我不知道如何处理错误。在Python中,例如,如果某人输入的内容不是整数,并且您已经要求输入整数,那么除了ValueError之外,您还可以使用' //做某事'代码行。我希望能够在我的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)+("%"));
}

2 个答案:

答案 0 :(得分:1)

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

就像Python一样,Java API文档会告诉你catch的哪些例外。

这是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会做

答案 1 :(得分:0)

您可能希望阅读https://docs.oracle.com/javase/tutorial/essential/exceptions/中Java教程中的例外部分。如果您不理解异常,则可能难以用Java编写代码。

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