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。各元素之間以空白字元或換行進行分隔。

  1. String 1: 第一個待處理字串。

  2. String 2: 第二個待處理字串。

  3. String 3: 第三個待處理字串。

輸出值的格式

輸出為一個單一字串,為三個處理後的字串串接而成之結果。

各種需要注意的邊界條件

  • 當字串長度剛好等於 k 時,不應進行擴增。

  • 當 k 為 0 或負數時,所有長度大於等於 0 的字串均不符合擴增條件。

  • 若字串擴增後長度依然小於 k,無須再次擴增,僅執行一次複製。

  • 所有的字串處理均區分大小寫(Case-sensitive)。

sample input1

a bb cccc 4

sample output1

aabbbbcccc

解釋:a 長度為 1 (< 4) 變為 aa;bbb 長度為 3 (< 4) 變為 bbbbbb;cccc 長度為 4 (等於 4) 不變。

sample input2

Apple pie ice 5

sample output2

Applepiepieiceice

解釋:apple 長度 5 不變;pie 長度 3 變為 piepie;ice 長度 3 變為 iceice。


Comments

There are no comments at the moment.