我正在尝试在此处进行循环,但这将为数字## + ##打印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++;
}
}
}
}
答案 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?
的帖子