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+ 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告