Maison >Java >javaDidacticiel >Solution à l'exception NumberFormatException en Java

Solution à l'exception NumberFormatException en Java

王林
王林original
2023-06-25 18:52:182334parcourir

Une exception qui se produit souvent en Java est NumberFormatException. En effet, lors de l'analyse d'une chaîne en nombre, cette exception sera déclenchée si la chaîne contient des caractères non numériques. Cet article présentera la solution à l’exception NumberFormatException.

  1. Vérification du formulaire

Dans un formulaire de saisie de chiffres, afin d'éviter que les utilisateurs ne commettent des erreurs, une vérification est généralement requise. Par exemple, vous pouvez utiliser des expressions régulières pour vérifier si la chaîne d'entrée est un nombre. S'il ne s'agit pas d'un nombre, une exception est levée. Voici un exemple :

String input = "abc123";
if (!input.matches("\d+")) {
    throw new NumberFormatException("输入的不是数字!");
}
int num = Integer.parseInt(input);
  1. Capture d'exception

Dans le programme, s'il est clairement connu que la chaîne d'entrée peut contenir des caractères non numériques, l'exception NumberFormatException peut être résolue par la capture d'exception. Voici un exemple :

String input = "abc123";
try {
    int num = Integer.parseInt(input);
} catch (NumberFormatException e) {
    System.out.println("输入的不是数字!");
    e.printStackTrace();
}
  1. Valeur par défaut pour convertir une chaîne en nombre

Dans certains cas, afin d'éviter une interruption du programme due à une exception NumberFormatException, vous pouvez définir la valeur par défaut pour convertir une chaîne en nombre. Par exemple, si l'entrée est un caractère nul, le nombre par défaut est 0. Voici un exemple :

String input = "";
int num;
try {
    num = Integer.parseInt(input);
} catch (NumberFormatException e) {
    num = 0;
}
System.out.println(num); // 输出0
  1. Vérifiez si la chaîne est vide

Lors de la conversion d'une chaîne en nombre, vous devez faire attention à savoir si la chaîne d'entrée est vide. Si la chaîne d'entrée est vide, la conversion ne peut pas avoir lieu. Par conséquent, il est recommandé de déterminer d’abord si la chaîne est vide avant d’effectuer l’opération de conversion. Voici un exemple :

String input = "";
if (input != null && input.length() > 0) {
    int num = Integer.parseInt(input);
} else {
    System.out.println("输入的字符串为空,无法转为数字!");
}

En bref, lorsque vous utilisez des chaînes pour convertir des nombres, faites attention à savoir si les caractères saisis sont des nombres et s'ils sont vides. Si nécessaire, vous pouvez utiliser la capture d'exceptions pour gérer les exceptions NumberFormatException. Grâce à ces méthodes, les exceptions NumberFormatException peuvent être résolues plus efficacement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn