search
HomeJavajavaTutorialNumberFormatException in Java

The NumberFormatException is an unchecked exception in java that occurs when a user tries to convert a string into a numeric value. The NumberFormatException is a built-in class in java that is defined in the Java.lang.NumberFormatException package. The IllegalArgumentException class is a superclass of the NumberFormatException as it is an unchecked exception, so it is not forced to handle and declare it. The NumberFormatException is actually thrown by the parseXXX() functions when functions are not able to convert or format(convert ) a string into numeric value like integer, float, double etc., because of the format of an input string is illegal and not appropriate. For example, in a Java program, sometimes the user input is accepted through command-line arguments as a text field in the form of a string. And to use this string in some arithmetic operations, it should first parse or convert into data types(specific numeric type) by using the parseXXX() functions of the wrapper classes.

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

The hierarchy of NumberFormatException class is:

Object ->Throwable -> Exception ->RuntimeException ->NumberFormatException.

Syntax

The following is the declaration for java.io. PrintWriter class.

public class NumberFormatException extends IllegalArgumentException implements Serializable
{
// Constructors of the NumberFormatException class
}

The above is the syntax of the NumberFormatException, where it is extended to the:

IllegalArgumentException class and implements Serializable

How NumberFormatException work in Java?

When an attempt is made to convert a string into a number, the NumberFormatException occurs. This kind of conversions is performed by using functions like Integer.parseInt(), Float.parseFloat() and all. Suppose we call Integer.parseInt(s) function where s is a type of String and its value is string “30”, so the function converts the string value correctly to an int 30. But what happened? If the value of s is supposed “thirty”, which is illegal, then the function fails and throws an exception: NumberFormatException. To handle this exception, we can write the catch block for it; if an exception is not handled, then the program will crash.

There are Different reasons to throws the NumberFormatException, as we can see below –

  • The provided string to be converting may be null. Ex :Integer.parseInt(null);
  • The provided string may be of length zero. Ex :Integer.parseInt(“”);
  • The provided string maybe has no numeric characters. Ex:Integer.parseInt(“Thirty”);
  • The provided string may be not represents an Integer value. Ex :Integer.parseInt(“FG67”);
  • T The provided string may be empty. Ex :Integer.parseInt(“”);
  • The provided string may be trailing space. Ex :Integer.parseInt(“785”);
  • The provided string may be leading space. Ex :Integer.parseInt(” 785 “);
  • The provided string may be contains alphanumeric. Ex :Long.parseLong(“F5”);
  • The provided string may be data type supported out of range. Ex: Integer.parseInt(“139”);
  • The provided string and the function used to convertmay be of different data types.Ex :Integer.parseInt(“3.56”);

Constructors

  • NumberFormatException(): This constructor create theNumberFormatException withoutdetailed specific message.
  • NumberFormatException(String s): This constructor creates the NumberFormatException with the specific message in detail.

Examples to Implement NumberFormatException in Java

Below are examples to implement:

Example #1

Next, we write the java code to understand the NumberFormatException more clearly with the following example where we create a PrintWriter object by using the PrintWriter class constructor and pass the file name to write in it, as below –

Code:

//package p1;
import java.util.Scanner;
public class Demo
{
public static void main( String[] arg) {
int age;
Scanner sc = new Scanner(System.in);
System.out.println("Please Enter your age : ");
//throws Exception as if the input string is of illegal format for parsing as it as null or alphanumeric.
age = Integer.parseInt(sc.next());
System.out.println("Your age is : " +age);
}
}

Output:

When the user enters “25+”, an output of the above code is:

NumberFormatException in Java

When a user enters not the well-formatted string “25F”, the output is:

NumberFormatException in Java

When a user enters a string “Twenty Five”, the output is:

NumberFormatException in Java

When a user enters a string “null”, the output is:

NumberFormatException in Java

When a user enters string value as a float “40.78”, the output is:

NumberFormatException in Java

When the user enters a string “25”, which is a valid string. The output is:

NumberFormatException in Java

Explanation: As in the above code, the age value is accepted from the user in string format, which further converts into the integer format by using the Integer.parseInt(sc.next()) function. While the user an illegal input string or not a well-formatted string, the NumberFormatException occurs, it throws, and the program terminates unsuccessfully. So to provide the valid string, it should be taken care that an input string should not be null, check an argument string matches the type of the conversion function used and also check if any unnecessary spaces are available; if yes, then trim it and so all care must be taken.

Example #2

Next, we write the java code to understand the NumberFormatException where we generate the NumberFormatException and handle it by using the try-catch block in the program, as below –

Code:

//package p1;
import java.util.Scanner;
public class Demo
{
public static void main( String[] arg) {
int age;
Scanner sc = new Scanner(System.in);
try
{
System.out.println("Please Enter your age : ");
//throws Exception as if the input string is of illegal format for parsing as it as null or alphanumeric.
age = Integer.parseInt(sc.next());
System.out.println("Your age is : " +age);
} catch(NumberFormatException e)
{
System.out.println("The NumberFormatExceptionoccure.");
System.out.println("Please enter the valid age.");
}
}
}

When the user enters a string “23F”, the output is:

NumberFormatException in Java

When a user enters a string “23”, the output is:

NumberFormatException in Java

Explanation: As in the above code try-catch block is used. It is always a good practice to enclose lines of code that can throw an exception in a try-catch block by which it handles the NumberFormatException and prevents it from generating the Exception.

Conclusion

The NumberFormatException in java is an unchecked exception that occurs when a not well-formatted string is trying to converts into a numeric value by using the parseXXX() functions. The NumberFormatException is a built-in class in which is defined in the Java.lang.NumberFormatException package.

The above is the detailed content of NumberFormatException in Java. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Is Java Platform Independent if then how?Is Java Platform Independent if then how?May 09, 2025 am 12:11 AM

Java is platform-independent because of its "write once, run everywhere" design philosophy, which relies on Java virtual machines (JVMs) and bytecode. 1) Java code is compiled into bytecode, interpreted by the JVM or compiled on the fly locally. 2) Pay attention to library dependencies, performance differences and environment configuration. 3) Using standard libraries, cross-platform testing and version management is the best practice to ensure platform independence.

The Truth About Java's Platform Independence: Is It Really That Simple?The Truth About Java's Platform Independence: Is It Really That Simple?May 09, 2025 am 12:10 AM

Java'splatformindependenceisnotsimple;itinvolvescomplexities.1)JVMcompatibilitymustbeensuredacrossplatforms.2)Nativelibrariesandsystemcallsneedcarefulhandling.3)Dependenciesandlibrariesrequirecross-platformcompatibility.4)Performanceoptimizationacros

Java Platform Independence: Advantages for web applicationsJava Platform Independence: Advantages for web applicationsMay 09, 2025 am 12:08 AM

Java'splatformindependencebenefitswebapplicationsbyallowingcodetorunonanysystemwithaJVM,simplifyingdeploymentandscaling.Itenables:1)easydeploymentacrossdifferentservers,2)seamlessscalingacrosscloudplatforms,and3)consistentdevelopmenttodeploymentproce

JVM Explained: A Comprehensive Guide to the Java Virtual MachineJVM Explained: A Comprehensive Guide to the Java Virtual MachineMay 09, 2025 am 12:04 AM

TheJVMistheruntimeenvironmentforexecutingJavabytecode,crucialforJava's"writeonce,runanywhere"capability.Itmanagesmemory,executesthreads,andensuressecurity,makingitessentialforJavadeveloperstounderstandforefficientandrobustapplicationdevelop

Key Features of Java: Why It Remains a Top Programming LanguageKey Features of Java: Why It Remains a Top Programming LanguageMay 09, 2025 am 12:04 AM

Javaremainsatopchoicefordevelopersduetoitsplatformindependence,object-orienteddesign,strongtyping,automaticmemorymanagement,andcomprehensivestandardlibrary.ThesefeaturesmakeJavaversatileandpowerful,suitableforawiderangeofapplications,despitesomechall

Java Platform Independence: What does it mean for developers?Java Platform Independence: What does it mean for developers?May 08, 2025 am 12:27 AM

Java'splatformindependencemeansdeveloperscanwritecodeonceandrunitonanydevicewithoutrecompiling.ThisisachievedthroughtheJavaVirtualMachine(JVM),whichtranslatesbytecodeintomachine-specificinstructions,allowinguniversalcompatibilityacrossplatforms.Howev

How to set up JVM for first usage?How to set up JVM for first usage?May 08, 2025 am 12:21 AM

To set up the JVM, you need to follow the following steps: 1) Download and install the JDK, 2) Set environment variables, 3) Verify the installation, 4) Set the IDE, 5) Test the runner program. Setting up a JVM is not just about making it work, it also involves optimizing memory allocation, garbage collection, performance tuning, and error handling to ensure optimal operation.

How can I check Java platform independence for my product?How can I check Java platform independence for my product?May 08, 2025 am 12:12 AM

ToensureJavaplatformindependence,followthesesteps:1)CompileandrunyourapplicationonmultipleplatformsusingdifferentOSandJVMversions.2)UtilizeCI/CDpipelineslikeJenkinsorGitHubActionsforautomatedcross-platformtesting.3)Usecross-platformtestingframeworkss

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software