String Augmentation and Concatenation
Submit solution
Points:
10 (partial)
Time limit:
1.0s
Memory limit:
64M
Authors:
Problem type
Allowed languages
Java 19, Java 8
題目說明
撰寫一個程式,由使用者輸入三個字串(String)以及一個整數 k。程式須針對每一個字串進行檢查:若該字串的長度小於 k,則該字串須進行一次「自我複製擴增」,即將該字串與其自身進行串接。若字串長度大於或等於 k,則維持原狀。最後,將處理後的三个字串依照輸入順序進行串接,並輸出最終結果。
本題目已提供主程式樣板,請依照要求實現 adjustString 函數。
樣板程式碼如下
import java.util.Scanner;
public class StringProcessor {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String[] inputs = new String[3];
for (int i = 0; i < 3; i++) {
inputs[i] = scanner.next();
}
int k = scanner.nextInt();
String result = "";
int index = 0;
while (index < 3) {
result = result + adjustString(inputs[index], k);
index++;
}
System.out.println(result);
scanner.close();
}
public static ... adjustString(...) {
...
}
}輸入值的格式
輸入共包含四個元素,前三個為字串,第四個為整數 k。各元素之間以空白字元或換行進行分隔。
String 1: 第一個待處理字串。
String 2: 第二個待處理字串。
String 3: 第三個待處理字串。
輸出值的格式
輸出為一個單一字串,為三個處理後的字串串接而成之結果。
各種需要注意的邊界條件
當字串長度剛好等於 k 時,不應進行擴增。
當 k 為 0 或負數時,所有長度大於等於 0 的字串均不符合擴增條件。
若字串擴增後長度依然小於 k,無須再次擴增,僅執行一次複製。
所有的字串處理均區分大小寫(Case-sensitive)。
sample input1
a bb cccc 4sample output1
aabbbbcccc解釋:a 長度為 1 (< 4) 變為 aa;bbb 長度為 3 (< 4) 變為 bbbbbb;cccc 長度為 4 (等於 4) 不變。
sample input2
Apple pie ice 5sample output2
Applepiepieiceice解釋:apple 長度 5 不變;pie 長度 3 變為 piepie;ice 長度 3 變為 iceice。
Comments