我正在尝试使用嵌套for循环(java)来打印以下内容:
331
330
322
311
300
222
111
我遇到了一些麻烦。到目前为止,我有:
for(int a = 3; a >=0; a--)
{
for(int b = 3; b>=0; b--)
{
for(int c = 2; c>=0; c--)
{
System.out.println(a + " "+ b +" "+ c);
}
}
}
但是打印出更像这样的东西:
3 3 2
3 3 1
3 3 0
3 2 2
3 2 1
3 2 0
3 1 2
3 1 1
3 1 0
3 0 2
3 0 1
3 0 0
2 3 2
2 3 1
2 3 0
2 2 2
2 2 1
2 2 0
2 1 2
我的代码出了什么问题?如何让它打印出第一个序列,而不是第二个序列?我很确定它与中间循环有关,但我真的不确定。
谢谢!
答案 0 :(得分:0)
如果你有嵌套for循环,除非你根据外循环中变量的值设置内循环的限制,内循环生成的模式(在这种情况下是第二个和第三个数字)将会在外循环的每次迭代中都是相同的。
我现在无法编码,但在我看来,如果你设置b从a运行到零,而不是从3到0,你可能会更接近你想要的。
但是,由于似乎没有你想要的模式,很难想到打印它们的算法。这些数字意味着什么?