-
打印出九九乘法表
public class MultiplicationTable {
public static void main(String[] args) {
// 外层for循环控制层数和后乘数
for (int i = 1; i < 10; i++) {
// 里层for循环控制一层输出几个和前乘数
for (int j = 1; j <= i; j++) {
System.out.print(j + " * " + i + " = " + (j * i) + "\t");
}
System.out.println();
}
}
}
运行结果:
-
打印出空心金字塔(5层)
public class Pyramid {
public static void main(String[] args) {
/*
-------------
*
* *
* *
* *
*********
-------------
*/
int height = 5; // 金字塔的层数
// 外层for循环控制前 height - 1 层的图案
for (int i = height - 1; i > 0; i--) {
// 打印每一层前面的空格, 空格数 = 当前层数 - 1
for (int j = 0; j <= i - 1; j++) {
System.out.print(" ");
}
// 控制第一层不要输出*, 而其他层输出三角形左边的*
if (i != height - 1) {
System.out.print("*");
}
// 打印每一层三角形中间的空格, 空格数 = (当前层数 - 1)的两倍 - 1
for (int j = 1; j <= (height - 1 - i) * 2 - 1; j++) {
System.out.print(" ");
}
// 控制输出右边的 * 并换行
System.out.print("*\n");
// 控制在最后一层铺满(height * 2 - 1) 个 *
if (i == 1) {
for (int k = 1; k <= height * 2 - 1; k++) {
System.out.print("*");
}
}
}
}
}
运行结果:
-
打印空心菱形
public class Diamond {
public static void main(String[] args) {
/*
-------------
*
* *
* *
* *
* *
* *
* *
* *
*
-------------
*/
int height = 5;
// 打印上半三角形
for (int i = height; i > 0; i--) {
for (int j = 1; j <= i - 1; j++) {
System.out.print(" ");
}
if (i != height) {
System.out.print("*");
}
for (int j = 1; j <= (height - i) * 2 - 1; j++) {
System.out.print(" ");
}
System.out.print("*\n");
}
// 打印下半三角形
for (int i = height - 1; i > 0; i--) {
for (int j = i; j < height ; j++) {
System.out.print(" ");
}
if (i != 1) {
System.out.print("*");
}
for (int j = i * 2 - height + 1; j >= 0; j--) {
System.out.print(" ");
}
System.out.print("*\n");
}
}
}
运行结果: