Как создавать фрагменты Java в VSCode для соревновательного программирования?

Опубликовано: 1 Декабря, 2021

Фрагмент относится к небольшому фрагменту повторно используемого исходного кода, машинного кода или текста, который с помощью фрагмента мы можем снова и снова использовать в наших программах длинные строки кода. Фрагменты кода - отличный инструмент для более быстрого написания программ. Скорость набора текста очень важна для соревновательного программирования. Как правило, в java используются два класса для выполнения операций ввода / вывода.

  • Класс сканера
  • BufferedReader Класс

Класс сканера - это класс в пакете java.util, используемый для получения ввода примитивных типов, таких как int, double и т. д., и строк. Это самый простой способ чтения ввода в программе Java, хотя и не очень эффективный, если вам нужен метод ввода для сценариев, в которых время является ограничением, как в конкурентном программировании. В классе сканера используется встроенная операция синтаксического анализа, что замедляет ее выполнение в конкурентном программировании.

Класс BufferedReader : читает текст из потока ввода символов, буферизует символы для обеспечения эффективного чтения символов, массивов и строк. Этот класс намного быстрее, чем класс Scanner для выполнения операций ввода / вывода, но требует большого набора текста)

BufferedReader is very much efficient and faster than Scanner class but the syntax for initialization of this class and performing operations is very more as compared to Scanner Class Operations.

Компоненты фрагмента : каждый фрагмент содержит четыре компонента.

  1. Имя сниппета: имя сниппета, которое делает уникальным из разных сниппетов
  2. префикс : ключевое слово, которое генерирует текущие сниппеты в программе.
  3. body : Фактический код, который мы привязываем к сниппетам, содержится в теле.
  4. description: Информация о сниппете содержится в сниппете.

Формат фрагмента: фрагмент конкретного кода, реализованного в файле java.json, который использует формат JSON.

Javascript

"Name_of_the_snippet " :
{
"prefix" : "prefix_of_the_snippet" ,
"body" : [
// Actual code of the snippet
],
"description" : "description_about_the_snippet"
}


Процедура: Необходимые шаги следующие:

  1. Создание и реализация пользовательского класса в новом файле Java.
  2. Теперь создадим сниппет этого класса

Реализация: для пользовательского класса. Реализуйте все методы ввода / вывода BufferedReader как определяемые пользователем, реализуя их как член класса в нашем классе (который используетBufferedReader и StringTokenizer): этот метод использует преимущество времени BufferedReader и StringTokenizer и преимущество определяемых пользователем методов для меньшего набора текста и, следовательно, более быстрого ввода в целом. Это принимается со временем 1,23 с, и этот метод очень рекомендуется, поскольку его легко запомнить и он достаточно быстр, чтобы удовлетворить потребности большинства вопросов в конкурентном кодировании.

Ява

// 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();
}
}


Выход:

Шаг 2: Создание фрагментов пользовательского класса в VSCode

VSCode - это текстовый редактор, обеспечивающий поддержку операций разработки и систем контроля версий. Он предоставляет пользователю инструменты для создания беспроблемных кодов. Его можно загрузить и установить с сайта visualstudio.com. Теперь переходим к шагу 2 процедуры.

  • Откройте VS в создаваемой папке.
  • Найдите в настройках java.js после пользовательского фрагмента.
  • Search SnippetGenerator.
  • Вставьте фрагмент в файл java.json и проверьте его.

Шаги подробно показаны с визуальным представлением для лучшего понимания ниже:

2.1: Откройте VScode в папке, где мы хотим создать сниппеты .

2.2: Нажмите кнопку «Настройка» и после пользовательских фрагментов выполните поиск java.js в текстовом поле. Файл выглядит так, как показано ниже.

2.3: Теперь Search Snippet Generator этот инструмент преобразует Java-код в сниппеты. Скопируйте фрагмент JSON из этого инструмента.

2.4: Вставьте фрагмент в файл java.json в каталог программы.

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" : ""
}
}

Вывод: файл java.json

2.5: Проверка сниппета: FastClass - это ключевое слово для запуска сниппета.

2.6. Файл GFG1.java

Вниманию читателя! Не прекращайте учиться сейчас. Ознакомьтесь со всеми важными концепциями Java Foundation и коллекций с помощью курса "Основы Java и Java Collections" по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .