gpt4 book ai didi

java - 数组中的重复字符

转载 作者:行者123 更新时间:2023-11-30 06:57:21 26 4
gpt4 key购买 nike

如何将两个字符数组排列成尽可能多的重复字符?这就是我得到的。

public class Repeat {

public static void main(String[] args) {

String Foo = "HELLO";
String Boo = "VEX";

char [] Key = new char[Foo.length()];

for(int i = 0; i < Foo.length(); i++) {
for(int j = 0; j < Key.length; j++) {
if(i < Boo.length()) {
Key[i] = Boo.charAt(i);

}

}
}

for(char c : Key) {
System.out.print(c + " ");
}
}

}

它目前打印出 V E X [ ] [ ]

我要打印出Key

V E X V E 

所以它符合

H E L L O

最佳答案

我不知道为什么有人可能想要做那样的事情,但你可以使用模运算符 %连同较短和较长的弦的长度来实现你想做的事情。像这样:

String longString = "abcde";
String shortString = "abc";
char[] array = new char[longString.length()];

for(int i = 0; i < array.length(); i++) {
array[i] = shortString.charAt(i % shortString.length());
}

如果你再输出array的内容,你应该得到 abcab .

该代码如何工作

for循环从 0 迭代到 array 的长度(等于 longString.length())减 1。这确保数组的所有元素(0、1、...、array.length() - 1)都可以在循环体中初始化。

声明i % shortString.length()确定应从 shortString 中检索的字符的位置.自 i可能大于或等于 shortString.length() (如果用作 shortString.charAt(int) 的参数会导致异常),您必须添加模运算符以确保 shortString.charAt(int) 的参数保持在从 0(含)到 shortString.length() 的范围内(独占)但会导致在每次迭代中返回另一个字符。

关于java - 数组中的重复字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33512119/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com