VS Code 中用於 Java 競賽程式設計的設定:快速 I/O 和程式碼片段


簡介

本教程將指導您完成在 Visual Studio Code (VS Code) 中設定 Java 開發環境的過程,並介紹一些用於競賽程式設計的有用工具和技術,包括快速輸入/輸出 (I/O) 技術和有用的程式碼片段。

在 VS Code 中設定 Java 開發環境

要在 VS Code 中開始使用 Java 程式設計,請按照以下步驟操作:

  • 安裝 Java 擴充套件包 - 開啟 VS Code 並點選左側邊欄上的正方形圖示或使用快捷鍵 Ctrl+Shift+X(Windows/Linux)或 Cmd+Shift+X(Mac)導航到擴充套件檢視。搜尋“Java Extension Pack”並安裝它。此擴充套件包包含 Java 開發的必要工具。

  • 建立 Java 專案 - 現在,讓我們建立一個新的 Java 專案。按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(Mac)開啟命令面板。鍵入“Java: Create Java Project”並選擇它。在您的計算機上為專案選擇合適的位置併為其命名。

  • 執行您的第一個 Java 程式碼 - 開啟 src 資料夾內的自動生成的 Java 類檔案 (App.java),您應該會看到一個簡單的“Hello, World!”程式:

示例

public class App {
   public static void main(String[] args) {
      System.out.println("Hello, World!");
   }
}
  • 編譯和執行 - 您可以使用 VS Code 中的整合終端來編譯和執行 Java 程式碼。選擇“檢視”→“終端”或使用快捷鍵 Ctrl + 反引號(Windows/Linux)或 Cmd + 反引號(Mac)開啟整合終端。在終端中,使用以下命令:

javac Main.java
java Main

輸出

Hello, World!

現在,讓我們探索一些可以提升競賽程式設計體驗的技術。

競賽程式設計中的快速 I/O

方法 1

在競賽程式設計中,高效的輸入/輸出 (I/O) 操作會顯著影響程式的效能。讓我們探索使用 BufferedReader 和 StringTokenizer 的快速 I/O 技術。

  • 匯入所需的類 - 在 Java 類檔案的開頭新增以下匯入語句:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
  • 設定輸入讀取器 - 宣告一個 BufferedReader 物件以從控制檯讀取輸入,並在 main 方法中按如下方式初始化它:

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  • 讀取輸入 - 要從一行讀取以空格分隔的整數,請使用 StringTokenizer 類,如下所示:

StringTokenizer st = new StringTokenizer(br.readLine());
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
  • 設定輸出寫入器 - 宣告一個 StringBuilder 物件以有效地構建輸出,並在 main 方法中按如下方式初始化它:

StringBuilder sb = new StringBuilder();
  • 寫入輸出 - 不要使用 System.out.println(),而是將輸出字串追加到 StringBuilder 物件:

sb.append("Result: ").append(result).append('\n');
  • 重新整理輸出 - 最後,在處理所有測試用例後,使用 System.out 列印輸出並重新整理它:

System.out.print(sb);
System.out.flush();

示例

讓我們來看一個計算兩個整數之和的示例:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class App{
   public static void main(String[] args) throws IOException {
      BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
      StringTokenizer st = new StringTokenizer(br.readLine());

      int a = Integer.parseInt(st.nextToken());
      int b = Integer.parseInt(st.nextToken());
      int sum = a + b;
      
      StringBuilder sb = new StringBuilder();
      sb.append("Sum: ").append(sum).append('\n');
      
      System.out.print(sb);
      System.out.flush();
   }
}

輸入

輸出

方法 2

或者,您可以使用兩個檔案進行輸入,輸出更容易複製和貼上較長的輸入,並將輸出寫入單獨的檔案,而不是使用控制檯/終端視窗。要使用此技術,請按照以下步驟操作:

  • 在與 Java 程式相同的資料夾中建立兩個檔案,一個用於讀取輸入,另一個用於寫入輸出。您可以將這些檔案放在單獨的資料夾中,請確保在程式中使用檔案的正確路徑。

  • 宣告一個 BufferedReader 物件以從輸入檔案讀取輸入,並在 main 方法中按如下方式初始化它:

BufferedReader reader = new BufferedReader(new FileReader(“input.txt”));
  • 宣告一個 PrintStream 物件以將輸出寫入輸出檔案,並在 main 方法中按如下方式初始化它:

PrintStream printStream = new PrintStream(new FileWriter(“output.txt”));
  • 不要使用 System.out.println(),而是使用 PrintStream 物件將輸出寫入輸出檔案:

printStream.print("Product: " + product);

示例

讓我們來看另一個計算兩個整數乘積的示例:

import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintStream;

public class App {
   public static void main(String[] args) throws IOException {
      BufferedReader reader = new BufferedReader(new FileReader("input.txt"));
      int num1 = Integer.parseInt(reader.readLine());
      int num2 = Integer.parseInt(reader.readLine());
      reader.close();
      int product = num1 * num2;
      PrintStream printStream = new PrintStream(new FileOutputStream("output.txt"));
      printStream.print("Product: " + product);
      printStream.close();
    }
}

輸出

提高生產力的程式碼片段

您可以在 VS Code 中使用程式碼片段來提高在 Java 中程式設計時的生產力。程式碼片段允許您只需幾個按鍵即可快速插入常用的程式碼模板。

方法 1

您可以按如下方式使用 Java Snippets VS Code 擴充套件:

  • 安裝 Java 程式碼片段 - 在 VS Code 中開啟擴充套件檢視(Ctrl+Shift+X 或 Cmd+Shift+X),然後搜尋“Java Snippets”。安裝“Visual Studio Code Team”提供的擴充套件。

  • 插入程式碼片段 - 要插入程式碼片段,請鍵入程式碼片段關鍵字,然後從 IntelliSense 下拉列表中選擇所需的程式碼片段。例如,鍵入 main 將顯示“Java Main Method”程式碼片段。按 Enter 將程式碼片段插入當前游標位置。

假設您經常需要建立 for 迴圈。無需鍵入整個 for 迴圈結構,您可以使用 for 程式碼片段。鍵入 for 並從 IntelliSense 下拉列表中選擇“Java For Loop”程式碼片段。

語法

在 Java 中建立 for 迴圈的語法如下:

for (initialization; condition; update) {
   // code to be executed
}

程式碼片段將插入如下:

上面的程式碼片段示例為 length 提供了佔位符,您可以將其替換為您想要的迴圈長度。這在建立重複的程式碼結構時可以節省您的時間和精力。

方法 2

VS Code 為建立和使用您的程式碼片段提供了便利的支援。讓我們為二分查詢演算法建立一個自定義程式碼片段。

  • 建立程式碼片段 - 開啟 VS Code 並透過轉到“檔案”>“首選項”>“配置使用者程式碼片段”導航到使用者程式碼片段。選擇語言“Java”並新增以下程式碼片段:

"Binary Search": {
   "prefix": "binarysearch",
   "body": [
      "int low = 0;",
      "int high = ${1:array.length} - 1;",
      "while (low <= high) {",
      "    int mid = low + (high - low) / 2;",
      "    if (array[mid] == ${2:target}) {",
      "        // Target found",
      "        break;",
      "    } else if (array[mid] < ${2:target}) {",
      "        low = mid + 1;",
      "    } else {",
      "        high = mid - 1;",
      "    }",
      "}"
   ],
   "description": "Binary search algorithm"
}
  • 使用程式碼片段 - 在您的 Java 程式碼檔案中,鍵入程式碼片段字首 binarysearch 並按 Tab 展開它。修改必要的佔位符並將程式碼片段用作二分查詢實現的起點。

結論

在本教程中,我們介紹了在 VS Code 中為競賽程式設計設定 Java 開發環境的過程。我們學習瞭如何在 VS Code 中配置 JDK、建立 Java 專案和執行 Java 程式碼。此外,我們還探索了使用 BufferedReader 和 StringTokenizer 進行高效輸入/輸出操作以及使用 PrintStream 快速複製輸入的快速 I/O 技術。

更新於:2023年7月24日

544 次瀏覽

開啟您的職業生涯

完成課程後獲得認證

開始
廣告
© . All rights reserved.