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”个相等的部分。
算法
- 开始吧。
- 声明一个字符串。
- 初始化它。
- 输入 n 的值。
- 调用一个方法将字符串分成 N 个相等的部分。
- 检查是否可以将字符串分成 n 个相等的部分。
- 如果不能,则打印消息无效输入,再试一次。
- 计算零件数量以找到分割点。
- 使用 for 循环打印分割的字符串
- 显示结果。
- 停下来。
下面是用 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 个相等的部分。
算法
- 开始吧。
- 声明一个字符串。
- 请用户初始化它。
- 为“N”声明一个变量。
- 要求用户初始化变量。
- 声明一个临时变量并将其初始化为 0。
- 声明另一个变量来存储每个字符串中的字符数。
- 声明一个新的
String
类型数组来存储字符串数组。 - 检查是否可以将字符串分成 n 个相等的部分。
- 如果不能,则打印消息无效输入,再试一次。
- 如果可能的话,使用 for 循环。
- 迭代字符串中的所有字符。
- 使用子字符串将字符串分成 n 个相等的部分。
- 打印所有分开的字符串。
- 停下来。
下面是相同的 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