如何将a1中的字符串与a2中的字符串进行比较以查看哪个更大?

时间:2013-12-13 22:36:44

标签: java arrays string list

编写一个名为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?

1 个答案:

答案 0 :(得分:2)

问题没有说明字符串a1a2的两个数组是否总是相同的长度,如果不是,那么它们不应该做什么,但请注意以下代码当它们长度相等时起作用:

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; 
}