添加数组输出

时间:2017-11-26 12:07:43

标签: java arrays

我需要一些帮助。我是java的新手,这是我的任务:

我必须编写包含整数数组的代码。一对数组值必须为=42。然后我必须通过正常System.out.println输出该对。

这是我到目前为止的代码。也许我甚至完全错了。 我的问题是让程序正确输出=42对的对象。

public class Main {
    public static void main(String[] args) {
        int[] array = { 2, 3, 5, 6, 8, 6, 5, 39, 40, 34 };
        for (int i = 0; i < array.length; i++) {
            for (int k = 0; k < array.length; k++)
               if (array[i] + array[k] == 42)
                   System.out.println("Found pairs at");
        }
    }
}

2 个答案:

答案 0 :(得分:2)

Properties props = System.getProperties();
Map<String, String> systemMap = includes.stream()
    .filter(props::containsKey)
    .sorted()
    .collect(Collectors.toMap(s -> s, props::getProperty,
        (e1, e2) -> e2, 
        LinkedHashMap::new)
    );

输出:

public static void main (String[] args) throws java.lang.Exception
{
    int[] array = {2,3,5,6,8,6,5,39,40,34};
    for (int i=0; i<array.length; i++){
        for (int k=0; k<array.length; k++)
           if (i != k && array[i] + array[k] == 42)
               System.out.println("Found pairs at " + i + " and " + k + ".");
    }
}

直播demo

修改:我在Found pairs at 0 and 8. Found pairs at 1 and 7. Found pairs at 4 and 9. Found pairs at 7 and 1. Found pairs at 8 and 0. Found pairs at 9 and 4. 条件中添加了i!=k,因为您要在数组中查找两个总和为42的数字。因此,如果数字为{{ 1}}出现在输入数组中,由于您正在检查if,您的程序会在21时为您提供两次索引21

答案 1 :(得分:1)

你几乎就在那里:)只需使用+运算符即可构建输出字符串:

public class Main {
    public static void main(String[] args) {
        int[] array = {2,3,5,6,8,6,5,39,40,34};

        for (int  i=0; i< array.length  ; i++) {
            for (int k=0; k< array.length; k++) {
                if (array[i] + array[k] == 42)
                    System.out.println("Found pairs at " + i + " " + k + ": " + array[i] + " and " + array[k] + " equals 42");
            }
        }
    }
}

或者,您可以使用格式化功能,这可能更容易阅读:

System.out.format("Found pairs at %d %d : %d and %d equals 42", i, k, array[i], array[k]);