Java 程序显示弗洛伊德三角形
弗洛伊德三角形是一种流行的直角三角形阵列,由自然数组成。该名称来自其创始人罗伯特·W·弗洛伊德,他是一位杰出的计算机科学家。它由三角形顶部的数字 1 开始,然后随着三角形行向下移动,每个后续数字都增加 1。
在本文中,我们将了解如何借助 Java 程序显示弗洛伊德三角形。
但在继续 Java 实现之前,让我们更深入地了解弗洛伊德三角形。
第一行仅包含 1 个数字,即 1 本身,并且每个后续行都比前一行多包含 1 个数字。三角形有 n 行,其中 n 可以是任何正整数。
三角形中的值总数将是前 n 个自然数的总和,使用公式 S = n/2 * (2a + (n-1) d) 计算,其中 S 是系列的总和,n 是系列中的项数,a 是系列中的第一个项,d 是项之间的公差。
但是,在弗洛伊德三角形中,第一个项始终为 1,而公差为 1,因此我们可以将此公式简化为:
S= n/2 * (2 + n – 1) = n/2 * (n+1)
因此,具有 n 行的弗洛伊德三角形中的值总数为 n/2 * (n+1)。
如果有 5 行即 n =5,那么三角形中的值总数为:
5/2 * (5+1) = 15
算法
输入:行数 n
1. 将变量"number"初始化为 1
2. 对于从 1 到 n 的 i,执行以下操作 -
a. 对于从 1 到 i 的 j,执行以下操作 -
i. 打印"number"的值
ii. 将"number"增加 1
b.打印换行符以移动到下一行
使用 for 循环
For 循环是一种控制流语句,可重复执行一组指令。它包含 3 个部分,即初始化语句、布尔条件和更新语句。执行循环体后,将执行更新语句并再次检查条件,直到布尔条件变为 false。
下面给出了使用嵌套 for 循环显示弗洛伊德三角的 Java 实现。
示例
public class FloydTriangle { public static void main(String[] args) { // 声明行数 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
结论
弗洛伊德三角形是一个简单的示例,用于演示和练习循环和模式等基本概念。它不仅限于 Java 实现,还经常用于教授 C++、Java、C# 和许多其他编程语言。三角形由 n 行组成,其中 n 可以在编写代码时预定义并存储在整数中。它可以进一步优化,要求用户输入 n 的值或行数(借助扫描仪类或任何其他输入方法),这将为学习者提供更好的练习。总的来说,这个程序是一种用 Java 生成弗洛伊德三角形的简单而有效的方法。定义循环条件时应小心谨慎,因为它可能会进入无限循环。