给定字符串str ,任务是编写一个Java程序来检查字符串是否仅包含数字。如果是这样,则打印true,否则打印false。
例子:
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.
- 使用遍历:想法是遍历字符串的每个字符,并检查字符串中的字符是否仅包含从0到9的数字。如果字符串的所有字符仅包含数字,则返回true,否则返回false。
下面是上述方法的实现:
// 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)); } }
输出:true
时间复杂度: O(N) ,其中N是给定字符串的长度。
辅助空间: O(1) - 使用字符 .isDigit(char ch):想法是遍历字符串的每个字符,并使用字符 .isDigit(char ch)检查指定字符是否为数字。如果字符是数字,则返回true,否则返回false。
下面是上述方法的实现:
// 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)); } }
输出:true
时间复杂度: O(N) ,其中N是给定字符串的长度。
辅助空间: O(1) - 使用正则表达式:
- 获取字符串。
- 创建一个正则表达式以检查仅包含数字的字符串,如下所述:
regex = "[0-9]+";
- 将给定的字符串与正则表达式匹配。在Java,这可以通过使用Pattern.matcher()来完成。
- 如果字符串与给定的正则表达式匹配,则返回true;否则返回false。
下面是上述方法的实现:
// 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)); } }
输出:true
时间复杂度: O(N) ,其中N是给定字符串的长度。
辅助空间: O(1)