为什么我的int numD不向上计数并打印?

时间:2019-10-02 17:47:41

标签: java for-loop

我正在尝试在此处进行循环,但这将为数字## + ##打印1-2的多个数字组合。但是现在我无法在最后一个循环中获取numD进行打印。由于某种原因,numD甚至不会连接或增量添加。感谢任何帮助,您可以忽略注释的代码

dim = 2;
numA = 1;
numB = 1;
numC = 1;
numD = 1;
for (int numA = 1; numA < dim + 1; numA++) { // biggest or leftest number loop first

                for (int numB = 1; numB < dim + 1; numB++) { // second number from the left

                    for (int numC = 1; numC < dim + 1; numC++) { // third number from the left

                        for (int numD = 1; numD < dim + 1; numD++) { // least number loop last            
                        // this will store number in arraylist
                            //outcomeOutput = String.valueOf(numA) + String.valueOf(numB)+" + "
                                //  + String.valueOf(numC) + String.valueOf(numD); 

                            System.out.println(numD);

                            System.out.println(outcomeOutput);
                            //dBArray.get(dim-1).add(outcomeOutput);
                            //System.out.println(dBArray.get(dim-1).get(count));
                            //count++;
                        }
                    }
                }


        }

2 个答案:

答案 0 :(得分:1)

您不需要(也不应该)在循环之前初始化循环变量。

如果您取消注释:

String outcomeOutput = String.valueOf(numA) + String.valueOf(numB)+" + "
                          + String.valueOf(numC) + String.valueOf(numD);

System.out.println(outcomeOutput);

似乎可以打印出您想要的内容。

实际上有更简单的方法可以将int转换为字符串。您可以使用String.format()(例如String.format("%d%d + %d%d", numA, numB, numC, numD),或者甚至更容易地将它们连接为字符串。在下面的代码中,我以空字符串""开头,然后将整数连接至该字符串我使用了更简单的变量名,我认为这会使代码更易于阅读。

int dim = 2;
for (int a = 1; a < dim + 1; a++) {
    for (int b = 1; b < dim + 1; b++) {
        for (int c = 1; c < dim + 1; c++) {
            for (int d = 1; d < dim + 1; d++) {
                System.out.println("" + a + b + " + " + c + d);
            }
        }
    }
}

产生:

  

11 + 11   
11 + 12   
11 + 21   
11 + 22   
12 + 11   
12 + 12   
12 + 21   
12 + 22   
21 + 11   
21 + 12   
21 + 21   
21 + 22   
22 + 11   
22 + 12   
22 + 21   
22 + 22

答案 1 :(得分:0)

我可能会看到它。 我刚刚看到Dim被宣布。我不认为它是声明的,直到发布后我才看到它。

您的numD变量是一个整数。您必须将其设置为字符串才能由Println显示。看看有关Println How does System.out.print() work?

的帖子