How to check whether given String contains only digits in Java?



Problem Description :


Write a program in Java that checks whether given String contains only digits or not?

Java program that checks whether given string contains only digits or not.
Given String contains only digits or not?

Concept :


We can solve this problem with and without regular expressions. Both the methods are very simple and straightforward.


Java Program :


1) Without Regular Expressions :


package com.javamultiplex.string;

import java.util.Scanner;

/**
 * 
 * @author Rohit Agarwal
 * @category String Problems
 * @problem How to check whether string contains only digits?
 *
 */
public class IsStringContainsOnlyDigits {

 public static void main(String[] args) {

  Scanner input = null;
  try {
   input = new Scanner(System.in);
   System.out.println("Enter String : ");
   String string = input.next();
   int length = string.length();
   int count = 0;
   for (int i = 0; i < length; i++) {
    /**
     * For checking whether particular character is digit or not we
     * can use isDigit(char c) method of Character class.
     */
    if (Character.isDigit(string.charAt(i))) {
     count++;
    } else {
     break;
    }
   }
   if (count == length) {
    System.out.println("String contains only digits.");
   } else {
    System.out.println("String not contains only digits.");
   }
  } finally {
   if (input != null) {
    input.close();
   }
  }

 }

}


2) With Regular Expressions :


package com.javamultiplex.string;

import java.util.Scanner;

/**
 * 
 * @author Rohit Agarwal
 * @category String Problems
 * @problem How to check whether string contains only digits?
 *
 */
public class IsStringContainsOnlyDigitsUsingRegularExpression {

 public static void main(String[] args) {

  Scanner input = null;
  try {
   input = new Scanner(System.in);
   System.out.println("Enter String: ");
   String string = input.next();
   /**
    * Regular Expression that matches a string contains only digits and
    * at least one digit should present.
    */
   String Pattern = "^[0-9]+$";
   if (string.matches(Pattern)) {
    System.out.println("String contains only digits.");
   } else {
    System.out.println("String not contains only digits.");
   }
  } finally {
   if (input != null) {
    input.close();
   }
  }

 }

}


Output :


Case 1 :


Output of Java program that checks whether given string contains only digits or not - case1
Output - String contains only digits.


Case 2 :


Output of Java program that checks whether given string contains only digits or not - case2
Output - String not contains only digits.

References :




http://docs.oracle.com/javase/7/docs/api/java/lang/Character.html

Thank you friends, I hope you have clearly understood the solution of this problem. If you have any doubt, suggestion or query please feel free to comment below. You can also discuss this solution in our forum.

Tags : Digits validation in String, Solution in Java, String, Regular expressions, for loop, while loop, if else statement, Character.

About Author:

I am simple guy with lot of ambitions. My main motive is to share whatever knowledge I have related to programming. With me you can easily learn how to solve any programming problem in Java.You can connect with me on social networking sites also.


Let's Get Connected: Linkedin | Facebook |

How to check whether given String contains only digits in Java? How to check whether given String contains only digits in Java? Reviewed by Rohit Agarwal on 12/30/2016 Rating: 5

No comments:

Please provide your valuable comments. If you have any suggestion please share with me I will work on it and if you have any question or doubt please ask, don't hesitate. I am your friend, i will clarify all your doubts.

Powered by Blogger.