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!
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP