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_lengthN
  • 将值"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!

Alshifa Hasnain
Alshifa Hasnain

将代码转换为清晰易懂的说明

更新于:2024年10月23日

604 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告