编写一个 Java 程序,通过示例打印 Floyd 三角。Floyd 三角是具有自然数数组的直角三角形。
Java 打印 Floyd 三角的程序
此 Java 程序允许用户输入他们想要打印的最大行数。然后,该程序将打印自然数的 Floyd 三角,直到达到用户指定的行数。
package ShapePrograms;
import java.util.Scanner;
public class FloydTriangle {
private static Scanner sc;
public static void main(String[] args) {
int rows, i, j, number = 1;
sc = new Scanner(System.in);
System.out.println(" Please Enter the Number of Rows you wish to see in FloydTriangle: ");
rows = sc.nextInt();
System.out.println("---- Printing FLOYD'S Triangle ------");
for ( i = 1 ; i <= rows; i++ ){
for ( j = 1 ; j <= i; j++ ) {
System.out.format("%d ", number);
number++;
}
System.out.println("");
}
}
}

前两个语句将允许用户输入他们想要打印的行数范围或最大行数。
现在让我们逐个迭代地查看 Java 中的嵌套 for 循环。
外层 For 循环 – 第一次迭代
从上面的屏幕截图中,请注意 i 的值为 1,Rows 为 5。因此,条件 (i <= 5) 为 True,将进入第二个 for 循环。
内层 For 循环 – Java 程序打印 Floyd 三角的第一次迭代
j 的值为 1,条件 (j <= 1) 为 True。因此,它将开始执行循环内的语句。System.out.format 语句将打印数字作为输出,我们都知道 Number = 1。所以,打印了 1。
下面的 number++ 语句将使用 递增运算符 将 Number 的值加 1。
内层 For 循环 – 第二次迭代:j 的值将为 2,条件 (2 <= 1) 为 False,因此将退出第二个循环。
System.out.println 语句用于终止当前行。
外层 For 循环 – 第二次迭代:i 的值将为 2,条件 (2 <= 5) 为 True。因此,将进入第二个 for 循环。
打印 Floyd 三角的程序 内层 For 循环 – 第一次迭代
j 的值为 1,条件 (1 <= 2) 为 True。因此,它将开始执行循环内的语句。它将打印数字作为输出,我们都知道 Number = 2。所以,打印了 2。
将 Number 加 1
接下来,j 的值也将加 1。
内层 For 循环 – 第二次迭代:j 的值为 2,条件 (2 <= 2) 为 True。因此,它将开始执行循环内的语句。这意味着打印了 3。
内层 For 循环 – 第三次迭代:j 的值将为 3,条件 (3 <= 2) 为 False。因此,将退出第二个循环。
一直到 5,之后内层和外层循环都将终止。
使用函数打印 Floyd 三角的 Java 程序
此 程序 允许用户输入要打印的最大行数。接下来,此程序将使用函数打印自然数的 Floyd 三角。
package ShapePrograms;
import java.util.Scanner;
public class FloydTriangleusingMethods {
private static Scanner sc;
public static void main(String[] args) {
int rows;
sc = new Scanner(System.in);
System.out.println(" Please Enter the Number of Rows you wish to see : ");
rows = sc.nextInt();
System.out.println("---- Printing ------");
FloydTriangle(rows);
}
public static void FloydTriangle (int rows) {
int i, j, number = 1;
for ( i = 1 ; i <= rows; i++ ) {
for ( j = 1 ; j <= i; j++ ) {
System.out.format("%d ", number);
number++;
}
System.out.println("");
}
}
}
输出
Please Enter the Number of Rows you wish to see :
10
---- Printing ------
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
当编译器到达 FloydTriangle(rows); 行时,编译器将立即跳转到下面的函数。
public static void FloydTriangle (int rows) {
我们已经在上面的示例中解释了逻辑。
不带自然数的 Floyd 三角的 Java 打印程序
此程序允许用户输入他们想要显示的行数。在此示例中,我们将使用 * 符号打印 Floyd 三角。此 Java 程序也可以打印带 * 符号的直角三角形。
package ShapePrograms;
import java.util.Scanner;
public class FloydTrianglewithoutNumbers {
private static Scanner sc;
public static void main(String[] args) {
int rows, i, j;
sc = new Scanner(System.in);
System.out.print(" Please Enter the Number of Rows you wish to see : ");
rows = sc.nextInt();
System.out.println("---- Printing ------");
for ( i = 1 ; i <= rows; i++ ) {
for ( j = 1 ; j <= i; j++ ) {
System.out.format("* ");
}
System.out.println("");
}
}
}
Please Enter the Number of Rows you wish to see : 8
---- Printing ------
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *