Java 显示Floyd三角形

Java 显示Floyd三角形

Floyd’s三角形是一个由自然数组成的流行的直角三角形数组。其名称源自其创始人Robert W. Floyd,他是一位杰出的计算机科学家。它的形成是从三角形的顶部开始用数字1,然后在每一行向下移动时逐个递增。

在本文中,我们将看到如何使用Java程序显示Floyd的三角形。

但在进行Java实现之前,让我们更加了解Floyd的三角形。

第一行只包含一个数字1,每个后续行包含的数字比前一行多一个。这个三角形有n行,其中n可以是任何正整数。

三角形中的值的总数将是前n个自然数的和,可以使用公式S = n/2 * (2a + (n-1)d)计算,其中S是序列的和,n是序列中的项数,a是序列中的第一项,d是项之间的公差。

然而,在Floyd的三角形中,第一项始终是1,公差也是1,因此我们可以简化这个公式为:

S= n/2 * (2 + n – 1) = n/2 * (n+1)

因此,Floyd三角形的n行中的总数值为n/2 * (n+1)。

如果有5行,即n =5,那么三角形中的总数值为:

5/2 * (5+1) = 15

步骤

输入:行数n

  • 1. 初始化一个变量“number”为1

  • 2. 对于i从1到n,进行以下操作 −

    • a. 对于j从1到i,进行以下操作 −
      • i. 打印“number”的值

      • ii. 将“number”加1

    • b. 打印一个换行符以移动到下一行

使用for循环

for循环是一种控制流语句,它重复执行一组指令。它包含三个部分,分别是初始化语句、布尔条件和更新语句。在执行完循环体后,执行更新语句并再次检查条件,直到布尔条件变为false。

以下是使用嵌套for循环显示Floyd三角形的Java实现。

示例

public class FloydTriangle {
   public static void main(String[] args) {
      // declare the number of rows 
      int rows = 5;
      int num = 1;

      for (int i = 1; i <= rows; i++) {
         for (int j = 1; j <= i; j++) {
            System.out.print(num + " ");
            num++;
         }
         System.out.println();
      }
   }
}

输出

上述程序将产生以下输出:

1 
2 3 
4 5 6 
7 8 9 10 
11 12 13 14 15

使用while循环

while循环是另一种控制流语句,它根据预定义的布尔条件重复执行并在条件为假时终止。

示例

public class FloydTriangle {
   public static void main(String[] args) {
      int rows = 5;
      int number = 1;
      int i = 1;

      while (i <= rows) {
         int j = 1;
         while (j <= i) {
            System.out.print(number + " ");
            number++;
            j++;
         }
         System.out.println();
         i++;
      }
   }
}

输出

上面的程序将产生以下输出 –

1 
2 3 
4 5 6 
7 8 9 10 
11 12 13 14 15

使用do-while循环

do-while循环基本上与while循环类似,唯一的区别是它至少会执行一次,因为条件是在每次迭代的末尾进行测试的。如果条件为真,循环将继续执行,并在条件为假时终止。在这里,行数预先定义为10。

示例

public class FloydTriangle {
   public static void main(String[] args) {
      int rows = 10;
      int number = 1;
      int i = 1;

      do {
         int j = 1;
         do {
            System.out.print(number + " ");
            number++;
            j++;
         } while (j <= i);
         System.out.println();
         i++;
      } while (i <= rows);
   }
}

输出

上述程序将产生以下输出 –

1 
2 3 
4 5 6 
7 8 9 10 
11 12 13 14 15 
16 17 18 19 20 21 
22 23 24 25 26 27 28 
29 30 31 32 33 34 35 36 
37 38 39 40 41 42 43 44 45 
46 47 48 49 50 51 52 53 54 55

结论

Floyd’s三角形是一个简单的示例,用于演示和练习循环和模式的基本概念。它不仅限于Java实现,经常用于教授C++JavaC#和许多其他编程语言。该三角形由n行组成,其中n可以在编写代码时预先定义并存储为整数。可以进一步优化,要求用户输入n的值或行数(通过scanner类或任何其他输入方法的帮助),这将给学习者提供更好的练习机会。总的来说,这个程序是在Java中生成Floyd’s三角形的一种简单而高效的方法。在定义循环条件时应注意可能进入无限循环的情况。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程