Dada una string, la tarea es encontrar su tipo de datos correspondiente usando una expresión regular en Java.
En términos generales, podemos clasificar todos los tipos de datos en los siguientes tipos:
- Entero: los tipos de datos numéricos como byte , short , int , long toman la forma de un objeto Integer.
- Doble: los tipos de datos decimales como float y double toman la forma de objeto Double.
- Fecha: la fecha en cualquier formato (como dd-mm-yyyy o dd/mm/yyyy) es parte de java.util.Date
- String: Todas las entradas restantes vienen bajo el tipo String.
Nota: las entradas de caracteres y los valores booleanos también se considerarán como strings.
Ejemplos:
Entrada: “56.73”
Salida: java.lang.Double
Explicación: 56.73 es del tipo de datos flotantes que forman parte de java.lang.Double
Entrada: «verdadero»
Salida: java.lang.String
Explicación: aquí true se considera una string normal que forma parte de java.lang.String
Acercarse:
- Toma la entrada en forma de string.
- Ahora, si la entrada contiene solo dígitos, es un objeto Integer. Si contiene números con punto decimal, es un objeto doble. Si la entrada tiene la forma de una fecha, la imprimimos como objeto java.util.Date. De lo contrario, decimos que la entrada es un objeto String que puede contener caracteres alfanuméricos y especiales.
A continuación se muestra la implementación del enfoque anterior:
Java
public class GFG { // method stub public static void main(String[] arg) { String input = "56.73"; String dataType = null; // checking for Integer if (input.matches("\\d+")) { dataType = "java.lang.Integer"; } // checking for floating point numbers else if (input.matches("\\d*[.]\\d+")) { dataType = "java.lang.Double"; } // checking for date format dd/mm/yyyy else if (input.matches( "\\d{2}[/]\\d{2}[/]\\d{4}")) { dataType = "java.util.Date"; } // checking for date format mm/dd/yyyy else if (input.matches( "\\d{2}[/]\\d{2}[/]\\d{4}")) { dataType = "java.util.Date"; } // checking for date format dd-mon-yy else if (input.matches( "\\d{2}[-]\\w{3}[-]\\d{2}")) { dataType = "java.util.Date"; } // checking for date format dd-mon-yyyy else if (input.matches( "\\d{2}[-]\\w{3}[-]\\d{4}")) { dataType = "java.util.Date"; } // checking for date format dd-month-yy else if (input.matches("\\d{2}[-]\\w+[-]\\d{2}")) { dataType = "java.util.Date"; } // checking for date format dd-month-yyyy else if (input.matches("\\d{2}[-]\\w+[-]\\d{4}")) { dataType = "java.util.Date"; } // checking for date format yyyy-mm-dd else if (input.matches( "\\d{4}[-]\\d{2}[-]\\d{2}")) { dataType = "java.util.Date"; } // checking for String else { dataType = "java.lang.String"; } System.out.println("The datatype of " + input + " is: " + dataType); } }
The datatype of 56.73 is: java.lang.Double
Publicación traducida automáticamente
Artículo escrito por SAKSHIKULSHRESHTHA y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA