El fragmento se refiere a una pequeña pieza de código fuente reutilizable, código de máquina o texto que, con la ayuda del fragmento, podemos usar código de líneas largas una y otra vez en nuestros programas. Los fragmentos son una gran herramienta para escribir programas más rápido. La velocidad de escritura es muy importante para la programación competitiva. En general, hay dos clases que se utilizan en java para realizar operaciones de entrada/salida.
- Clase de escáner
- Clase BufferedReader
Scanner Class es una clase en el paquete java.util que se utiliza para obtener la entrada de los tipos primitivos como int, double, etc. y strings. Es la forma más fácil de leer la entrada en un programa Java, aunque no es muy eficiente si desea un método de entrada para escenarios donde el tiempo es una restricción como en la programación competitiva. La clase de escáner usó una operación de análisis incorporada que lo hace lento para la programación competitiva.
BufferedReader Class : lee texto de un flujo de entrada de caracteres, almacenando en búfer los caracteres para proporcionar una lectura eficiente de caracteres, arrays y líneas. Esta clase es mucho más rápida que la clase Escáner para realizar operaciones de entrada/salida pero requiere mucho tipeo)
BufferedReader es mucho más eficiente y rápido que la clase Scanner, pero la sintaxis para la inicialización de esta clase y la realización de operaciones es mucho mayor en comparación con las operaciones de la clase Scanner.
Componentes del fragmento : cada fragmento contiene cuatro componentes
- Nombre del fragmento: nombre del fragmento que lo hace único a partir de diferentes fragmentos
- prefijo : la palabra clave que genera fragmentos actuales en el programa
- cuerpo : el código real que vinculamos a fragmentos contiene en el cuerpo.
- descripción: información sobre el fragmento contenido en un fragmento.
Formato del fragmento: Fragmento de código particular implementado en el archivo java.json que usa el formato JSON.
Javascript
"Name_of_the_snippet ": { "prefix": "prefix_of_the_snippet", "body": [ // Actual code of the snippet ], "description": "description_about_the_snippet" }
Procedimiento: Los pasos involucrados son los siguientes:
- Creación e implementación de una clase definida por el usuario en un nuevo archivo java.
- Ahora, creando un fragmento de esta clase
Implementación: para una clase definida por el usuario. Implemente todos los métodos de entrada/salida de BufferedReader como definidos por el usuario al implementarlos como un miembro de clase en nuestra clase (que usa BufferedReader y StringTokenizer ): este método usa la ventaja de tiempo de BufferedReader y StringTokenizer y la ventaja de los métodos definidos por el usuario. métodos para escribir menos y, por lo tanto, una entrada más rápida en conjunto. Esto se acepta con un tiempo de 1,23 s y este método es muy recomendable ya que es fácil de recordar y lo suficientemente rápido para satisfacer las necesidades de la mayoría de las preguntas en la codificación competitiva.
Java
// Java Program to create Java snippets // in VSCode for Competitive Programming /* Code for user defined class */ // Importing generic java libraries import java.util.*; import java.util.Map.Entry; import java.io.*; import java.util.regex.Pattern; public class GFG { static class FastReader { BufferedReader br; StringTokenizer st; public FastReader() { br = new BufferedReader( new InputStreamReader(System.in)); } String next() { while (st == null || !st.hasMoreElements()) { try { st = new StringTokenizer(br.readLine()); } catch (IOException e) { e.printStackTrace(); } } return st.nextToken(); } int nextInt() { return Integer.parseInt(next()); } long nextLong() { return Long.parseLong(next()); } double nextDouble() { return Double.parseDouble(next()); } String nextLine() { String str = ""; try { str = br.readLine(); } catch (IOException e) { e.printStackTrace(); } return str; } } public static void main(String[] args) { FastReader scan=new FastReader(); } }
Producción:
Paso 2: creación de fragmentos de clase definida por el usuario en VSCode
VSCode es un editor de texto que brinda soporte para operaciones de desarrollo y sistemas de control de versiones. Proporciona herramientas para que un usuario cree códigos sin problemas. Se puede descargar e instalar desde visualstudio.com . Ahora salte al paso 2 del procedimiento.
- Abra VS en una carpeta que se creará.
- Busque en la configuración de java.js después del fragmento de código de usuario.
- Generador de fragmentos de búsqueda.
- Pegue el fragmento en el archivo java.json y compruébelo.
Los pasos se muestran en detalle con la representación visual para una mejor comprensión a continuación:
2.1: Abra VScode en la carpeta donde queremos crear Snippets .
2.2: Haga clic en el botón Configuración y después de los fragmentos de usuario y busque java.js en el cuadro de texto. El archivo se ve a continuación.
2.3: Ahora Search Snippet Generator , esta herramienta convierte el código Java en fragmentos. Copie el fragmento de JSON de esta herramienta.
2.4: Pegue el fragmento en el archivo java.json en el directorio del programa.
Javascript
{ "User-Defined_SnippetGFG": { //Name of the snippet "prefix": "FastClass", //keyword to generate "body": [ //code implemented in the snippet " static class FastReader {", " BufferedReader br;", " StringTokenizer st;", " public FastReader()", "{", " br = new BufferedReader(new InputStreamReader(System.in));", "}", "String next(){", "while (st == null || !st.hasMoreElements()) {", "try {", " st = new StringTokenizer(br.readLine());", "}", " catch (IOException e) {", " e.printStackTrace();", "}", "}", "return st.nextToken();", "}", "int nextInt() { return Integer.parseInt(next()); }", "long nextLong() { return Long.parseLong(next()); }", "double nextDouble() {", "return Double.parseDouble(next())", " }", "String nextLine(){", "String str = \"\";", "try {", "str = br.readLine();", "}", "catch (IOException e) {", "e.printStackTrace();", "}", "return str;", "}", "}", "", " " ], "description": "" } }
Salida: archivo java.json
2.5: Comprobación del fragmento: FastClass es la palabra clave para iniciar el fragmento.
2.6. Archivo GFG1.java
Publicación traducida automáticamente
Artículo escrito por zack_aayush y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA