所以我很丢失。这就是我的任务。我必须写一个名为的Java方法,它接受两个字符串(称为你和 我)作为论点。该方法将返回一个由你的第一个字符组成的字符串,然后是 我的第一个角色,然后是你的下一个角色,然后是我的下一个角色,依此类推。例如:interleave(" abcdefg"," 1234")返回a1b2c3d4efg
答案 0 :(得分:0)
试试这个:
public static String combine(String you, String me) {
StringBuilder builder = new StringBuilder();
for (int i = 0; i < me.length(); i++) {
if (i < you.length()) {
builder.append(you.charAt(i));
builder.append(me.charAt(i));
} else {
builder.append(me.charAt(i));
}
}
return builder.toString();
}
我们遍历第二个参数(必须是较长的一个才能正常工作),然后将每个字符附加到字符串中。这样做的时间很长,因为我们还没有达到第一个参数的末尾(较小的一个)。之后,它只是附加剩余的较长的字符串。
所以如果我们做 System.out.println(combine("123456789", "abcdefghi");
结果将是 1a2b3c4d5e6f7g8h9i
答案 1 :(得分:0)
public void modify(String a1, String b1){
int index = 0;
int len1 = a1.length() > b1.length()? a1.length():b1.length();
int len2 = a1.length() > b1.length()? b1.length():a1.length();
for(int i=0;i<len1;i++){
if(len2>0){
System.out.print(""+a1.charAt(index)+b1.charAt(index));
index++;
len2--;
}
else{
if(i<a1.length())
{
System.out.print(""+a1.charAt(index));
index++;
}
else
{
System.out.print(""+b1.charAt(index));
index++;
}
}
}
这个modify()接受两个字符串,无论哪个字符串更大,都存储在len1中,而较小的字符串存储在len2中。
&#39;指数&#39;用于提取字符串的特定索引。
&#39;对于&#39;循环遍历较大的字符串并交替打印两个字符串。 然后,无论哪个字符串更大,都会附加其余的内容。
例如:modify(&#34; abcdefg&#34;,&#34; 1234&#34;)打印a1b2c3d4efg。