Given a string str, the task is to write a Java program to check whether a string contains only digits or not. If so, then print true, otherwise false.
Examples:
Input: str = “1234”
Output: true
Explanation:
The given string contains only digits so that output is true.Input: str = “GeeksforGeeks2020”
Output: false
Explanation:
The given string contains alphabet character and digits so that output is false.
- Using Traversal: The idea is to traverse each character in the string and check if the character of the string contains only digits from 0 to 9. If all the character of the string contains only digits then return true, otherwise, return false.
Below is the implementation of the above approach:
// Java program for the above approach
// contains only digits
class
GFG {
// Function to check if a string
// contains only digits
public
static
boolean
onlyDigits(String str,
int
n)
{
// Traverse the string from
// start to end
for
(
int
i =
0
; i < n; i++) {
// Check if character is
// digit from 0-9
// then return true
// else false
if
(str.charAt(i) >=
'0'
&& str.charAt(i) <=
'9'
) {
return
true
;
}
else
{
return
false
;
}
}
return
false
;
}
// Driver Code
public
static
void
main(String args[])
{
// Given string str
String str =
"1234"
;
int
len = str.length();
// Function Call
System.out.println(onlyDigits(str, len));
}
}
chevron_rightfilter_noneOutput:
true
Time Complexity: O(N), where N is the length of the given string.
Auxiliary Space: O(1) - Using Character.isDigit(char ch): The idea is to iterate over each character of the string and check whether the specified character is a digit or not using Character.isDigit(char ch). If the character is digit then return true, else return false.
Below is the implementation of the above approach:
// Java program to check if a string
// contains only digits
class
GFG {
// Function to check if a string
// contains only digits
public
static
boolean
onlyDigits(String str,
int
n)
{
// Traverse the string from
// start to end
for
(
int
i =
0
; i < n; i++) {
// Check if the sepecified
// character is a digit then
// return true,
// else return false
if
(Character.isDigit(str.charAt(i))) {
return
true
;
}
else
{
return
false
;
}
}
return
false
;
}
// Driver Code
public
static
void
main(String args[])
{
// Given string str
String str =
"1234"
;
int
len = str.length();
// Function Call
System.out.println(onlyDigits(str, len));
}
}
chevron_rightfilter_noneOutput:true
Time Complexity: O(N), where N is the length of the given string.
Auxiliary Space: O(1) -
Using Regular Expression:
- Get the String.
- Create a Regular Expression to check string contains only digits as mentioned below:
regex = "[0-9]+";
- Match the given string with Regular Expression. In Java, this can be done by using Pattern.matcher().
- Return true if the string matches with the given regular expression, else return false.
Below is the implementation of the above approach:
// Java program to check if a string
// contains only digits
import
java.util.regex.*;
class
GFG {
// Function to validate URL
// using regular expression
public
static
boolean
onlyDigits(String str)
{
// Regex to check string
// contains only digits
String regex =
"[0-9]+"
;
// Compile the ReGex
Pattern p = Pattern.compile(regex);
// If the string is empty
// return false
if
(str ==
null
) {
return
false
;
}
// Find match between given string
// and regular expression
// using Pattern.matcher()
Matcher m = p.matcher(str);
// Return if the string
// matched the ReGex
return
m.matches();
}
// Driver Code
public
static
void
main(String args[])
{
// Given string str
String str =
"1234"
;
// Function Call
System.out.println(onlyDigits(str));
}
}
chevron_rightfilter_noneOutput:true
Time Complexity: O(N), where N is the length of the given string.
Auxiliary Space: O(1)
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.