Java 程序:将字符串分成N个相等部分

原文:https://www.studytonight.com/java-programs/java-program-to-divide-a-string-in-n-equal-parts

在本教程中,我们将学习如何将一个字符串分成 n 个相等的部分。但是在进一步深入之前,如果你不熟悉字符串的概念,那么一定要查看 Java 中Strings的文章。

输入:输入字符串:今晚学习

输入 n: 4 的值

输出:将输入的字符串分成 n 个相等的部分,我们有

斯图(男子名)

下肢深静脉血栓形成

office of naval intelligence 海军情报局

ghent 根特

程序 1:将一个字符串分成 N 个相等的部分

在这个程序中,我们将看到当字符串被预定义时,如何将字符串分成“N”个相等的部分。

算法

  1. 开始吧。
  2. 声明一个字符串。
  3. 初始化它。
  4. 输入 n 的值。
  5. 调用一个方法将字符串分成 N 个相等的部分。
  6. 检查是否可以将字符串分成 n 个相等的部分。
  7. 如果不能,则打印消息无效输入,再试一次。
  8. 计算零件数量以找到分割点。
  9. 使用 for 循环打印分割的字符串
  10. 显示结果。
  11. 停下来。

下面是用 Java 语言编写的相同代码。

//Java Program to divide a string into n equal parts
public class Main  
{ 
    // Method to divide a string into n equal parts
    static void divide(String str, int n) 
    { 

        int sub_size; 
        // Check whether the string can be divided into n equal parts  
        if (str.length() % n != 0) 
        { 
            System.out.println("Invalid Input"); 
            System.out.println("String size is not divisible by n"); 
            System.out.println("Try Again"); 
            return; 
        } 

        // Calculate the number of parts to find the division points 
        sub_size = str.length() / n; 

        for (int i = 0; i< str.length(); i++) 
        { 
            if(i % sub_size == 0) 
            System.out.println();  
            System.out.print(str.charAt(i)); 
        } 
    } 

    // Driver Code 
    public static void main(String[] args) 
    { 

        String str = "abcdefghijklmnopqr"; 
        System.out.println("The entered string is: "+str);
        int n=6;
        System.out.println("On dividing the entered string into "+ n +" equal parts, we have ");
        // Print n equal parts of the string 
        divide(str, n); 
    } 
}

输入的字符串是:abcdefghijklmnopqr 在将输入的字符串分成 6 个相等的部分时,我们有 T3】ABC def GHI jkl MnO pqr

程序 2:将一个字符串分成 N 个相等的部分

在这个程序中,我们将看到当字符串由用户定义时,如何将字符串分成 n 个相等的部分。在这里,我们首先要求用户输入字符串,然后将字符串分成 n 个相等的部分。

算法

  1. 开始吧。
  2. 声明一个字符串。
  3. 请用户初始化它。
  4. 为“N”声明一个变量。
  5. 要求用户初始化变量。
  6. 声明一个临时变量并将其初始化为 0。
  7. 声明另一个变量来存储每个字符串中的字符数。
  8. 声明一个新的String类型数组来存储字符串数组。
  9. 检查是否可以将字符串分成 n 个相等的部分。
  10. 如果不能,则打印消息无效输入,再试一次。
  11. 如果可能的话,使用 for 循环。
  12. 迭代字符串中的所有字符。
  13. 使用子字符串将字符串分成 n 个相等的部分。
  14. 打印所有分开的字符串。
  15. 停下来。

下面是相同的 Java 语言代码。

//Java Program to divide the string into n equal parts
import java.util.*;

public class Main 
{  
    public static void main(String[] args) 
    {  
        //Take input from the user
        Scanner sc=new Scanner(System.in);
        System.out.println("Enter the string: ");
        String str = sc.nextLine();  
        //Enter the total number of parts 
        System.out.println("Enter the value of n: ");
        int n = sc.nextInt();  
        int temp = 0, chars = str.length()/n; 

        //Stores the array of string  
        String[] newStr = new String [n];  
        //Check whether a string can be divided into n equal parts  
        if(str.length() % n != 0) 
        {  
            System.out.println("Invalid Input"); 
            System.out.println("String size is not divisible by "+n); 
            System.out.println("Try Again"); 
        }  
        else 
        {  
            for(int i = 0; i < str.length() ; i = i+chars) 
            {  
                //Dividing string in n equal part using substring()  
                String part = str.substring(i, i+chars);  
                newStr[temp] = part;  
                temp++;  
            }  
               System.out.println("On dividing the entered string into "+ n +" equal parts, we have ");  
               for(int i = 0; i < newStr.length; i++) 
               {  
                   System.out.println(newStr[i]);  
               }  
            }  
        }  
}

输入字符串:今晚学习 输入 n: 4 的值 将输入的字符串分成 4 等份,我们有 Stu dyT oni ight