java - 如何按一定顺序打印 3 个不同字符串数组的元素?

标签 java arrays sorting

我有 3 个不同的数组,一个包含 6 个字母的单词,另一个数组包含 5 个字母的单词,另一个包含 4 个字母的单词。每行每个长度最多需要一个单词。首先,如果行中尚未放置最长长度 (6) 的单词,则出现该单词。然后是一个空格,然后是一个中等长度的单词 (5)(如果有)。然后,最后是最短长度的单词 (4)(如果有)。利用\n 和\t 示例:

Array1:[banana, orange, null, null, null, null, null]
Array2:[apple, orang, range, green, ocean, null, null, null, null]
Array3:[taco, oran, rang, blue, pool, done, null, null, null, null, null]

输出:

banana apple taco
        orange orang oran
                range rang
                        green blue
                                ocean pool
                                        done

这是我尝试过的,但它只正确打印第一行。

  public static String output(String[] fourLetter, String[] fiveLetter, String[] sixLetter){


            String answer = null;
            String answer1 = null;
            String answer2 = null;
            String answer3 = null;


            for (int i =0 ; i < sixLetter.length;i++){
            answer1 = sixLetter[i] +" ";


            for (int j =0 ; j <  fiveLetter.length;j++){
                answer2 = answer1+ fiveLetter[j] +" ";

                for (int k =0 ; k <  fourLetter.length;k++){

                    for(int l = 0;l<3;l++){

                            answer3 += answer2 +shortest[k]+"\n\t";

                    }
                }
            }
        }answer = answer3;

        return answer;

    }

最佳答案

你不需要有那么多的for循环。看看这个:

public static String output(String[] fourLetter, String[] fiveLetter, String[] sixLetter){


    String answer = "";
    for(int i=0; i<Math.max(Math.max(fourLetter.length, fiveLetter.length),sixLetter.length);i++){

        if(sixLetter.length>i){
            answer += sixLetter[i] + " ";
        }
        if(fiveLetter.length>i){
            answer += fiveLetter[i] + " ";
        }
        if(fourLetter.length>i){
            answer += fourLetter[i];
        }
        answer += "\n";
    }
    return answer;


}

关于java - 如何按一定顺序打印 3 个不同字符串数组的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42856806/

相关文章:

java - 如何使 1 个 JToolbar 按钮比其他按钮大?

java - 不确定如何在 Java 中编写方法,就像在 c 中编写模板一样

javascript - Angularjs 数组中的嵌套对象数组

javascript - 在 JavaScript reduce 中返回三元运算符

java - 如何相交两个排序的整数数组而不重复?

java - eclipse中的Spring Boot应用程序,配置为监听端口XXXX的Tomcat连接器启动失败

java - 在 jtable 中设置值

c++ - 逐级遍历父数组n叉树?

mysql - 通过查询编辑器对表进行排序并接收重复行

c++ - 对没有比较器或 lambda 函数的 vector 进行排序?