打印 ax,y 矩阵,java
我想使用 for 循环打印以下矩阵:
1 2 3 4 5 6
2 3 4 5 6 1
3 4 5 6 1 2
4 5 6 1 2 3
5 6 1 2 3 4
6 1 2 3 4 5
我使用:
public static void main ( String [ ] args ) {
for(int w = 1; w <= 6; w++){
System.out.println("");
for(int p = w; p <= 6; p++){
System.out.print(p + "");
}
}
}
但它打印:
1 2 3 4 5 6
2 3 4 5 6
3 4 5 6
4 5 6
5 6
6
I want to print the followin matrix using for loops:
1 2 3 4 5 6
2 3 4 5 6 1
3 4 5 6 1 2
4 5 6 1 2 3
5 6 1 2 3 4
6 1 2 3 4 5
I use:
public static void main ( String [ ] args ) {
for(int w = 1; w <= 6; w++){
System.out.println("");
for(int p = w; p <= 6; p++){
System.out.print(p + "");
}
}
}
But it prints:
1 2 3 4 5 6
2 3 4 5 6
3 4 5 6
4 5 6
5 6
6
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
将您的内循环更改为:
Change your inner loop to this:
我认为使用模来打印每种可能的组合更容易。但是,这会返回 0 到 5 之间的数字,因此您必须加 1。
I think it is easier to work with modulo to print every possible combination. But, this returns a number between 0 and 5, so you have to add 1.
这应该可以帮助你。几乎就是你想要做的,但有一个额外的 for 循环。
This should help you out. Almost what you are trying to do, but with an extra for loop.
这会起作用,虽然我还没有测试过!:
干杯
This will work, although I haven't tested it!:
Cheers
发生这种情况是因为您的内部循环取决于 w,但 w 正在递增。
编辑——这是我想出的
this is happening because your inner loop depends on w, but w is incrementing.
edit -- here is what i came up with
其他人给出了奇特的模数解决方案,但我认为最简单的事情是有第二个内部循环来覆盖第一个内部循环错过的数字。
Other people have given fancy solutions with modulo, but I think the simplest thing is to have a second inner loop that covers the numbers the first inner loop missed.