编写一个名为joiner的静态方法,它接受两个字符串数组a1和a2作为参数,并返回一个新数组a3,使得每个索引处的a3的每个元素都存储一个由存储在a1 [i]中的单词组成的新字符串和a2 [i]在连接字符串的前面加上长度更长(更多字符)的字。如果存在平局,请从a1。
中取出元素例如,如果a1和a2存储以下元素:
String[] a1 = {"star", "pie", "jelly bean", "car"};
String[] a2 = {"cookie", "fig", "banana", "soda"};
然后你的方法应该返回新的数组:
{"cookiestar", "piefig", "jelly beanbanana", "sodacar"}.
这是我到目前为止所得到的:
for(int i = 0; i <length; i++) {
if(a1[i].stringlength()< a2[i].stringlength()) {
String[] a3 = a1[i] + a2[i];
}
else {
if(a2[i].stringlength().compareTo[i].stringlength() < 0) {
String[] a3 = a2[i] + a1[i];
}
else {
String[] a3 = a1[i] + a2[i];
}
return a3[i];
}
}
很多错误,但我尝试了很多不同的东西,似乎无法弄明白 。我试图找出如何通过索引比较两个数组中的字符串。我如何比较a1 [i]和a2 [i]以查看哪个字符串更大?如何将两个字符串分配给新的数组a3?
答案 0 :(得分:2)
问题没有说明字符串a1
和a2
的两个数组是否总是相同的长度,如果不是,那么它们不应该做什么,但请注意以下代码当它们长度相等时起作用:
public static String[] joiner(String[] a1, String[] a2)
{
int length1 = a1.length;
int length2 = a2.length;
String[] a3 = new String[length1];
if( length1 == length2) {
for( int i = 0; i < length1; i++) {
if( a1[i].length() >= a2[i].length())
a3[i] = a1[i].concat(a2[i]);
else
a3[i] = a2[i].concat(a1[i]);
}
}
return a3;
}