我希望finally
block 中的语句在try和catch block
的return语句之后打印,但finally block 中的语句总是在此之前打印。
1 import java.io.*;
2 import java.util.*;
3 public class Division
4 {
5 public String divideTwoNumbers(int number1,int number2)
6 {
7 try
8 {
9 int n=number1/number2;
10 String ans="The answer is "+n+".";
11 return ans;
12
13 }
14 catch(ArithmeticException e)
15 {
16 String s1="Division by zero is not possible. ";
17 return s1;
18 }
19 finally
20 {
21 System.out.print("Thanks for using the application");
22 }
23 }
24 public static void main(String[] args)
25 {
26 Division obj=new Division();
27 Scanner sc=new Scanner(System.in);
28 System.out.println("Enter the numbers");
29 System.out.println(obj.divideTwoNumbers(sc.nextInt(),sc.nextInt()));
30 }
31 }
对于输入:
`15` and `0`
需要输出:
`Division by zero is not possible. Thanks for using the application.`
我得到的输出:
感谢您使用该应用程序。除零是不可能的。
最佳答案
如果您总是希望在打印方法调用结果后显示消息,请在方法调用后打印它:
System.out.println(obj.divideTwoNumbers(sc.nextInt(),sc.nextInt()));
System.out.println("Thanks for using the application");
并删除finally
。
关于java - 如何在try和catch block 的return语句之后打印finally block 中的语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60542413/