如何增加String的长度以匹配另一个String只有一次在java中没有Stringbuilder?

时间:2016-10-05 22:44:04

标签: java

我在方法明文和关键字中有两个字符串。 plaintext.length> keyword.length和我想重复密钥,直到它与明文的长度相同。

我怎样才能让它们只重复一次?

我真的不知道从哪里开始,但这就是我所拥有的:

该方法具有这些参数(String plaintext,String keyword)

    plaintext = plaintext.toUpperCase();
    keyword = keyword.toUpperCase();
    String bell = "";

    for(int i = 0; i <plaintext.length(); i++){

         int key = plaintext.length() / keyword.length();
         int r = plaintext.length() % keyword.length();

请帮助

1 个答案:

答案 0 :(得分:0)

您已经计算了密钥与明文的匹配频率以及其余部分。

因此,您只需要一个for循环来累积密钥,然后添加其余部分:

String plaintext = "Computer Science";
String key       = "CORN1";

int fullFits = plaintext.length() / key.length(); // How often does the key fit completely into the plaintext
int rest     = plaintext.length() % key.length(); // How many chars are left

String newKey = "";
for (int i = 0; i < fullFits; i++)
{
    newKey += key;
}

newKey += key.substring(0, rest);

System.out.println(newKey);

打印:CORN1CORN1CORN1C