我一直在使用嵌套循环一段时间了,我可以说一些非常有见地的答案和来自这个论坛的帮助,我开始了解它。作为我的任务的一部分,我被要求做以下事情;
显示1到10之间所有可能的数字对
显示所有可能的数字对1,2,3,4与4,5,6,7,8
配对以x,y的形式显示所有可能的对,其中x 以下是前两个结构的代码; 老实说,我想展示最后一个构造的一段代码,至少表明我的努力,但对于我的生活,我甚至无法弄清楚如何开始。我需要一些指导。感谢。 public static void main(String[] args) {
for (int i = 1; i <=10; i++)
for (int j = 1; j <=10; j++)
System.out.println(i + " " + j);
for (int i = 1; i <=4; i++)
for (int j = 4; j <=8; j++)
System.out.println(i + " " + j);
}
答案 0 :(得分:4)
您可以一次按照说明操作:
for (int x = 1; x < 11; x++)
for (int y = 1; y < 11; y++)
if (x < y)
System.out.println(x + " " + y);
对于每个0 < x < 11
和每个0 < y < 11
,x < y
时打印该对。
答案 1 :(得分:4)
如果x&lt;你也可以写y&gt; X:
for (int x = 1; x < 11; x++)
{
for (int y = x + 1; y < 11; y++)
{
System.out.println(x + " " + y);
}
}
答案 2 :(得分:1)
最简单的方法是使用一个for循环并创建3个列表,并在列表中遇到它们时添加所有对(对于每个对类型)。
public static void main (String[] args) {
for (int i = 1; i <= 10; i++) {
for (int j = 1; j <= 10; j++) {
list1.add (i + "," + j); // This would pair all combination of i and j
if (i < 5 && j > 3 && j <9) { // This would pair all combination of 1,2,3,4 with 4,5,6,7,8
list2.add (i + "," + j);
}
if(i<j){ // This would pair all i and j where i is less than j
list3.add (i + "," + j);
}
}
}
}
答案 3 :(得分:0)
Simeon Vessir的回答是这样做的,但循环可以是圆形的,内循环(x)限制可以取决于外循环的当前值(y):
for (int y=1; y<=11; y++)
for (int x=1; x<y; x++)
System.out.println(x + " " + y);