使用嵌套循环配对数字

时间:2013-12-04 12:45:10

标签: java nested-loops

我一直在使用嵌套循环一段时间了,我可以说一些非常有见地的答案和来自这个论坛的帮助,我开始了解它。作为我的任务的一部分,我被要求做以下事情;

显示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);
     }

老实说,我想展示最后一个构造的一段代码,至少表明我的努力,但对于我的生活,我甚至无法弄清楚如何开始。我需要一些指导。感谢。

4 个答案:

答案 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 < 11x < 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);