Solution à Java FormattedOutputException
Dans la programmation Java, nous devons souvent formater les données de sortie pour rendre les informations de sortie plus faciles à lire et à comprendre. Cependant, nous pouvons parfois rencontrer une exception appelée FormattedOutputException, qui indique qu'une erreur s'est produite lors du processus de sortie formatée. Cet article présentera la cause et la solution de cette exception, et donnera des exemples de code correspondants.
1. Analyse des causes d'exception
L'exception FormattedOutputException se produit généralement lors du formatage de la sortie à l'aide de la méthode format() de la classe String. Lorsque nous utilisons la méthode format(), nous transmettons généralement une chaîne de format et les paramètres correspondants. Toutefois, lorsque l'espace réservé dans la chaîne de format ne correspond pas au type de paramètre réel, une exception FormattedOutputException se produit.
2. Solution
Pour résoudre l'exception FormattedOutputException, nous devons prêter attention à deux points : la correspondance des espaces réservés dans la chaîne de format et les paramètres réels ;
public class FormattedOutputExample { public static void main(String[] args) { String name = "Tom"; int age = 20; double height = 1.80; // 错误示例,会导致FormattedOutputException异常 System.out.format("My name is %s, age is %d, height is %f", name, age, height); // 正确示例 System.out.format("My name is %s, age is %d, height is %.2f", name, age, height); } }
Dans l'exemple de code ci-dessus, nous avons utilisé trois espaces réservés dans la chaîne de format : %s, %d, %f. Puisque le nom du paramètre est un type chaîne, nous utilisons « %s » comme espace réservé ; de même, le paramètre age est un type entier, nous utilisons donc « %d » comme espace réservé ; nous avons donc utilisé "%f" comme espace réservé et passé ".2" pour indiquer que seules deux décimales sont conservées.
public class FormattedOutputExample { public static void main(String[] args) { double percentage = 0.8; // 错误示例,会导致FormattedOutputException异常 System.out.format("The percentage is %d%", percentage * 100); // 正确示例 System.out.format("The percentage is %d%%", (int)(percentage * 100)); } }
Dans l'exemple de code ci-dessus, nous évitons l'apparition de FormattedOutputException en utilisant "%%" pour échapper au signe de pourcentage %.
3. Résumé
Lors du formatage de la sortie en Java, nous devons faire attention à la correspondance des espaces réservés et des paramètres réels dans la chaîne de format, ainsi qu'à l'échappement des caractères spéciaux. Ce n'est que lorsque les types d'espace réservé et de paramètre correspondent et que les caractères spéciaux sont correctement échappés que les exceptions FormattedOutputException peuvent être évitées. En utilisant rationnellement des espaces réservés et des caractères d'échappement, nous pouvons obtenir une sortie formatée plus précise et plus lisible dans la programmation Java.
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!