atch块捕获NumberFormatException,程序可以优雅地处理空白输入或无法转换为数字的输入,避免程序崩溃,并给出友好的提示信息。同时,本文还展示了如何使用Float.parseFloat()方法将字符串转换为浮点数,并进行数值判断。在编写java程序时,经常需要从用户处获取输入,并根据输入执行相应的操作。一个常见的需求是读取数值,并判断其正负号。然而,用户可能会输入空白字符,或者输入无法转换为数字的字符串,这会导致程序抛出numberformatexception异常。为了使程序更加健壮,我们需要处理这些异常情况。
使用try-catch块处理异常
解决这个问题的一个有效方法是使用try-catch块。try块包含可能抛出异常的代码,而catch块包含处理异常的代码。当try块中的代码抛出异常时,程序会跳转到相应的catch块执行。
以下是一个示例代码,演示了如何使用try-catch块处理NumberFormatException异常:
import java.util.Scanner;
public class CheckingSign {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter floating point value: ");
String number = scanner.nextLine();
try {
float n = Float.parseFloat(number);
if (n > 0) {
System.out.print("DEBUG:the user input is < " + number + " >");
System.out.println("DEBUG:the trimed input is <" + number + ">");
System.out.println("The sign of the input is 1");
} else if (n < 0) {
System.out.print("DEBUG:the user input is < " + number + " >");
System.out.println("DEBUG:the trimed input is <" + number + ">");
System.out.println("The sign of the input is -1");
} else {
System.out.print("DEBUG:the user input is < " + number + " >");
System.out.println("DEBUG:the trimed input is <" + number + ">");
System.out.println("The sign of the input is 0");
}
} catch (NumberFormatException e) {
System.out.print("DEBUG:the user input is < " + number + " >");
System.out.println("DEBUG:the trimed input is <" + number + ">");
System.out.println("Encountered blank input or invalid number format.");
}
}
}代码解释:
注意事项:
总结:
通过使用try-catch块,我们可以有效地处理Java程序中的异常情况,使程序更加健壮。在处理用户输入时,尤其需要注意可能出现的异常,例如NumberFormatException。通过捕获这些异常,我们可以避免程序崩溃,并给出友好的提示信息。此外,使用 Float.parseFloat() 可以将字符串转换为浮点数,方便进行数值判断。