Java程序将字符串平均分成N部分
在本文中,我们将了解如何使用Java将字符串平均分成N部分。如果字符串的长度能被N整除,则字符串将被平均分成N部分;否则,将显示一条消息,指示该字符串无法平均分成N部分。这将使用简单的main方法和封装方法来演示。
问题陈述
编写一个Java程序,将字符串平均分成N部分。以下是演示:
输入
Input string: Java Program is fun!
输出
The length of the string is: 20 4 equal parts of given string are Java Progr am is fun!
不同方法
以下是将字符串平均分成N部分的不同方法:
使用main()方法
在这里,我们将所有操作绑定在main()方法下:
- 启动程序并声明一个字符串input_string和两个整数string_length和N。
- 将值"Java Program is fun!"赋给input_string,并将4赋给N。
- 计算字符串的长度并将其存储在string_length中。
- 检查字符串是否能被N整除(即string_length % N)。
- 如果不能整除,则显示消息:“该字符串无法平均分成N部分”。
- 如果能整除,则使用for循环将字符串平均分成几部分。
- 以string_parts大小的块迭代字符串,该大小计算为string_length / N。
- 将每一部分存储在数组equalStr[]中,并在每次迭代后递增临时变量。
- 在控制台上显示分割的部分并结束程序。
示例
public class Demo { public static void main(String[] args) { String input_string = "Java Program is fun!"; System.out.println("The string is defined as: " +input_string); int string_length = input_string.length(); System.out.println("The length of the string is: " +string_length); int N = 4; int temp = 0, string_parts = string_length/N; String[] equalStr = new String [N]; if(string_length % N != 0) { System.out.println("The string cannot be divided int "+ N +" parts."); } else { for(int i = 0; i < string_length; i = i+string_parts) { String part = input_string.substring(i, i+string_parts); equalStr[temp] = part; temp++; } System.out.println(N + " equal parts of given string are "); for(int i = 0; i < equalStr.length; i++) { System.out.println(equalStr[i]); } } } }
输出
The string is defined as: Java Program is fun! The length of the string is: 20 4 equal parts of given string are Java Progr am is fun!
使用封装
在这里,我们将操作封装到函数中,展示了面向对象编程:
- 启动程序并创建一个名为divide_string的方法,该方法将字符串input_string和整数N作为参数。
- 计算字符串的长度并将其存储在string_length中,然后检查字符串是否能被N整除。
- 如果不能整除,则打印消息:“该字符串无法平均分成N部分”。
- 如果能整除,则通过将长度除以N来计算每一部分的大小。
- 使用循环提取等长子串并将它们存储在数组equalStr[]中。
- 显示分割的部分。
- 在main方法中,定义字符串input_string和整数N,然后使用这些参数调用divide_string方法。
- 结束程序。
示例
public class Demo { static void divide_string(String input_string, int N){ int string_length = input_string.length(); System.out.println("The length of the string is: " +string_length); int temp = 0, string_parts = string_length/N; String[] equalStr = new String [N]; if(string_length % N != 0) { System.out.println("The string cannot be divided int "+ N +" parts."); } else { for(int i = 0; i < string_length; i = i+string_parts) { String part = input_string.substring(i, i+string_parts); equalStr[temp] = part; temp++; } System.out.println(N + " equal parts of given string are "); for(int i = 0; i < equalStr.length; i++) { System.out.println(equalStr[i]); } } } public static void main(String[] args) { String input_string = "Java Program is fun!"; System.out.println("The string is defined as: " +input_string); int N = 4; divide_string(input_string, N); } }
输出
The string is defined as: Java Program is fun! The length of the string is: 20 4 equal parts of given string are Java Progr am is fun!
广告