Java 字元對交換程式


在本文中,我們將學習如何在 Java 字串 中交換字元對。我們首先使用一個簡單的方法將字串轉換為字元陣列,以便直接交換字元。然後,我們將探索一種 面向物件的方法,其中交換邏輯被封裝在單獨的方法中。這兩種方法都突出了關鍵的 Java 概念,例如字串操作和方法封裝。

問題陳述

編寫一個 Java 程式來交換一對字元。下面是相同的演示:

輸入

Input string: Java program

輸出

The string after swapping is: Javg proaram

字串中基本字元交換的步驟

以下是字串中基本字元交換的步驟:

  • 開始
  • 宣告一個值為 "Java program" 的字串 input_string
  • 將字串轉換為名為 character 的字元陣列。
  • 確定要交換的字元位置(從末尾算起第 3 個和第 7 個)。
  • 使用臨時變數 temp 交換字元。
  • 將字元陣列轉換回字串。
  • 顯示交換後的新字串。
  • 結束。

Java 字元對交換程式

在這裡,我們將所有操作繫結在主函式下:

public class SwapCharacter {
  public static void main(String args[]) {
    String input_string = "Java program";
    System.out.println("The string is defined as: " + input_string);
    int i = 3, j = input_string.length() - 4;
    char character[] = input_string.toCharArray();
    char temp = character[i];
    character[i] = character[j];
    character[j] = temp;
    String result = new String(character);
    System.out.println("\nThe string after swapping is: " + result);
  }
}

輸出

The string is defined as: Java program

The string after swapping is: Javg proaram

程式碼解釋

在這個例子中,程式首先定義一個值為 "Java program" 的字串 input_stringtoCharArray() 方法 用於將此字串轉換為字元陣列,從而可以操作單個字元。程式使用陣列索引確定要交換的字元位置——從末尾算起第 3 個和第 7 個。臨時變數 temp 在交換過程中儲存一個字元。交換後,使用 new String(character) 建構函式將字元陣列轉換回字串。最後,列印修改後的字串。此示例使其簡單明瞭,重點放在基本字串操作上。

使用面向物件方法交換字元對的步驟

以下是使用面向物件方法交換字元對的步驟:

  • 開始
  • 定義一個靜態方法 swap(),它接受一個字串和兩個位置,並返回一個修改後的字元陣列。
  • swap() 方法中將字串轉換為字元陣列。
  • 使用臨時變數交換給定位置的字元。
  • 從方法返回修改後的字元陣列
  • 宣告一個值為 Java program 的字串 input_string
  • 使用 input_string 和要交換的字元位置呼叫 swap() 方法
  • 列印 swap() 方法返回的修改後的字元陣列。
  • 結束程式。

使用面向物件方法的 Java 字元對交換程式

在這裡,我們將操作封裝在函式中,展示了面向物件程式設計:

public class SwapCharacter {
  static char[] swap(String input_string, int i, int j) {
    char character[] = input_string.toCharArray();
    char temp = character[i];
    character[i] = character[j];
    character[j] = temp;
    return character;
  }
  public static void main(String args[]) {
    String input_string = "Java program";
    System.out.println("The string is defined as: " + input_string);
    System.out.println("\nThe string after swapping is: ");
    System.out.println(swap(input_string, 3, input_string.length() - 4));
  }
}

輸出

The string is defined as: Java program

The string after swapping is:
Javg proaram

程式碼解釋

在這個例子中,程式遵循面向物件原則,在靜態方法 swap() 中使用 封裝 交換邏輯。此方法將輸入字串和要交換的字元位置作為引數。在 swap() 內部,字串被轉換為字元陣列以方便字元操作。使用臨時變數 temp 交換指定位置的字元,並返回修改後的字元陣列。主方法使用字串 "Java program" 和指定的索引呼叫 swap()。修改後的字元陣列直接在主方法中列印。這種方法使程式碼可重用且模組化,儘管它仍然不涉及任何迴圈。靜態方法的使用演示了在 Java 中面向物件程式設計原則的基本應用。

更新於:2024-08-09

2K+ 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告