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_string。 toCharArray() 方法 用于将此字符串转换为字符数组,从而可以操作单个字符。程序使用数组索引确定要交换的字符位置——从末尾算起第 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 中面向对象编程原则的基本应用。
广告