Java:消除具有相同数字的结果

标签 java arrays for-loop

好的,我尽可能地剥离了这段代码。我正在寻找的解决方案可能很简单。开始了:

import java.util.Arrays;

public class App {
    public static void main(String[] args) {
        for (int k = 1; k < 9; k++) {
            for (int p = 1; p < 9; p++) {
                for (int i = 1; i < 9; i++) {
                    if (k + p + i == 9) {
                        System.out.println("The 3 numbers that give the sum of 9 are: " + k + p + i);
                    }
                }
            }
        }
    }
}

我试图找到 3 个数字的所有组合,总和为数字 9。我已经通过 3 个 for 循环完成了此操作,如您在代码中所见,但问题是结果也显示相同的数字,但在不同的顺序。例如:117 和 711。我不想要那个,我只想要相同数字的一种组合。最简单的解决方案是什么?

最佳答案

那么你应该限制你的内部循环。

解决方案: p < 9应该是 p <= ki < 9应该是 i <= p

代码:

public static void main(String[] args) {
    for (int k = 1; k < 9; k++) {
        for (int p = 1; p <= k; p++) {
            for (int i = 1; i <= p; i++) {
                if (k + p + i == 9) {
                    System.out.println("The 3 numbers that give the sum of 9 are: " + k + p + i);

                }

            }
        }
    }
}

关于Java:消除具有相同数字的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31229970/

相关文章:

java - 从命令行构建 RAD7 项目

java - 如何从Google表格中获取修改后的内容?

Java - 删除字符串的第一个字符

php - 如何展平多维数组?

javascript - 即使我使用 Number() 函数,数组的最后一个元素始终为 NaN

javascript - 如何在 Angular 中使用数组/对象循环遍历数组并为属性分配新值?

java - 在 for 循环中,Println 函数使循环永远循环。为什么会发生这种情况?

java - 如何使用开源工具检查 PDF-A 1b 合规性?

python - 使用 Numpy 计算相关系数

javascript - 如何判断字母是否在字符串中-javascript