Dada la string str , la tarea es escribir un programa Java para verificar si una string contiene solo dígitos o no. Si es así, escriba verdadero, de lo contrario, falso.
Ejemplos:
Entrada: str = «1234»
Salida: verdadero
Explicación:
la string dada contiene solo dígitos, por lo que la salida es verdadera.Entrada: str = «GeeksforGeeks2020»
Salida: falso
Explicación:
la string dada contiene caracteres alfabéticos y dígitos, por lo que la salida es falsa.
Soluciones
1. Usando transversal
La idea es recorrer cada carácter de la string y verificar si el carácter de la string contiene solo dígitos del 0 al 9 . Si todo el carácter de la string contiene solo dígitos, devuelve verdadero; de lo contrario, devuelve falso. A continuación se muestra la implementación del enfoque anterior:
Java
// 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 // not a digit between 0-9 // then return false if (str.charAt(i) < '0' || str.charAt(i) > '9') { return false; } } // If we reach here, that means // all characters were digits. return true; } // Driver Code public static void main(String args[]) { // Given string str String str = "1a234"; int len = str.length(); // Function Call System.out.println(onlyDigits(str, len)); } }
false
- Complejidad de tiempo: O(N), donde N es la longitud de la string dada.
- Espacio Auxiliar: O(1)
2. Usando Character.isDigit(char ch)
La idea es iterar sobre cada carácter de la string y verificar si el carácter especificado es un dígito o no usando Character.isDigit(char ch) . Si el carácter es un dígito, devuelve verdadero, de lo contrario, devuelve falso. A continuación se muestra la implementación del enfoque anterior:
Java
// 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 not digit // then return false, // else return false if (!Character.isDigit(str.charAt(i))) { return false; } } // If we reach here that means all // the characters were digits, // so we return true return true; } // 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
- Complejidad de tiempo: O(N), donde N es la longitud de la string dada.
- Espacio Auxiliar: O(1)
3. Uso de expresiones regulares
- Consigue la cuerda.
- Cree una expresión regular para verificar que la string contenga solo dígitos como se menciona a continuación:
regex = "[0-9]+";
- Haga coincidir la string dada con la expresión regular. En Java, esto se puede hacer usando Pattern.matcher() .
- Devuelve verdadero si la string coincide con la expresión regular dada; de lo contrario, devuelve falso.
A continuación se muestra la implementación del enfoque anterior:
Java
// 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
- Complejidad de tiempo: O(N), donde N es la longitud de la string dada.
- Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por prashant_srivastava y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA