/* L * 矩形
***** 1 5
***** 2 5
***** 3 5
***** 4 5
***** 5 5
*/
class Demo1 {
public static void main(String[] args) {
// 外层循环控制总行数
int line = 20;
for (int i = 1; i <= line; i++) {
// 星星个数 = 最大行号
for (int j = 1; j <= line; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
/* L * 三角形
* 1 1
** 2 2
*** 3 3
**** 4 4
***** 5 5
****** 6 6
*/
class Demo2 {
public static void main(String[] args) {
int line = 30;
// 外层循环控制总计6行
for (int i = 1; i <= line; i++) {
// 每一行星星个数 == 行号
for (int j = 1; j <= i; j++) {
System.out.print('*');
}
System.out.println();
}
}
}
/* L _ * 反三角
* 1 4 1
** 2 3 2
*** 3 2 3
**** 4 1 4
***** 5 0 5
_下划线表示空格
_ = 总行数 - 当前行号;
* = 当前行号
*/
class Demo3 {
public static void main(String[] args) {
int line = 30;
// 外层循环控制总行数
for (int i = 1; i <= line; i++) {
// 内层循环1: 控制空格的个数
for (int j = 1; j <= line - i; j++) {
System.out.print(' ');
}
// 内层循环2: 控制星星的个数
for (int k = 1; k <= i; k++) {
System.out.print('*');
}
System.out.println();
}
}
}
/* L _ * 等腰三角形
* 1 5 1
*** 2 4 3
***** 3 3 5
******* 4 2 7
********* 5 1 9
*********** 6 0 11
_ = 总行数 - 当前行号;
* = 2 * 当前行号 - 1;
*/
class Demo4 {
public static void main(String[] args) {
int line = 20;
// 外层循环控制总行数,这里是6行
for (int i = 1; i <= line; i++) {
// 内层循环1:控制空格的个数
for (int j = 1; j <= line - i; j++) {
System.out.print(' ');
}
// 内层循环2:控制星星的个数 星星 = 2 * 当前行号 - 1;
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print('*');
}
System.out.println();
}
}
}
/* L _ 字符 个数 英文字符递增等腰三角形
A 1 6 A 1
BBB 2 5 B 3
CCCCC 3 4 C 5
DDDDDDD 4 3 D 7
EEEEEEEEE 5 2 E 9
FFFFFFFFFFF 6 1 F 11
GGGGGGGGGGGGG 7 0 G 13
_个数 = 总行数 - 当前行号;
字符个数 = 2 * 当前行号 - 1;
字符本身的递增过程
*/
class Demo5 {
public static void main(String[] args) {
// 定义一个字符变量,变量初始化为字符'A'
char ch = 'A';
// 外层循环控制总行数,总行数7行
for (int i = 1; i <= 26; i++) {
// 内存循环1: 控制空格的个数
for (int j = 1; j <= 26 - i; j++) {
System.out.print(' ');
}
// 内存循环2: 控制字符个数
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print(ch);
}
System.out.println();
// 字符变量需要在每一次展会完毕之后,进行自增
ch += 1;
}
}
}
/* L _ * 菱形
* 1 5 1
*** 2 4 3
***** 3 3 5
******* 4 2 7
********* 5 1 9
*********** 6 0 11
********* 1 1 9
******* 2 2 7
***** 3 3 5
*** 4 4 3
* 5 5 1
下半部分 第一行星星个数为9,如何计算得来
凑!!!
总行数5
5 * 2 - (i * 2 - 1) --> 5 * 2 - i * 2 + 1 => (5 - i) * 2 + 1
(5 - i) * 2 + 1
10 - 1 = 9;
10 - 3 = 7;
10 - 5 = 5;
*/
class Demo6 {
public static void main(String[] args) {
// 菱形总行数 ,一旦是单数
int line = 25;
// 图形一分为二,上半部分为line / 2 + 1行
// 外层循环控制总行数,这里是line / 2 + 1行
for (int i = 1; i <= line / 2 + 1; i++) {
// 内层循环1:控制空格的个数
for (int j = 1; j <= line / 2 + 1 - i; j++) {
System.out.print(' ');
}
// 内层循环2:控制星星的个数 星星 = 2 * 当前行号 - 1;
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print('*');
}
System.out.println();
}
// 下半部分一共line / 2行
// 外层循环控制总行数,总计line / 2行
for (int i = 1; i <= line / 2; i++) {
// 内层循环1: 展示空格个数
for (int j = 1; j <= i; j++) {
System.out.print(' ');
}
// 内层循环2: 控制星星的个数
for (int k = 1; k <= (line / 2 - i) * 2 + 1; k++) {
System.out.print('*');
}
System.out.println();
}
}
}
/*
A 英文字符递增菱形
BBB
CCCCC
DDDDDDD
EEEEEEEEE
FFFFFFFFFFF
EEEEEEEEE
DDDDDDD
CCCCC
BBB
A
*/
class Demo7 {
public static void main(String[] args) {
// 菱形总行数 ,一旦是单数
int line = 11;
char ch = 'A';
// 图形一分为二,上半部分为line / 2 + 1行
// 外层循环控制总行数,这里是line / 2 + 1行
for (int i = 1; i <= line / 2; i++) {
// 内层循环1:控制空格的个数
for (int j = 1; j <= line / 2 + 1 - i; j++) {
System.out.print(' ');
}
// 内层循环2:控制星星的个数 星星 = 2 * 当前行号 - 1;
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print(ch);
}
ch += 1;
System.out.println();
}
// 下半部分一共line / 2行
// 外层循环控制总行数,总计line / 2行
for (int i = 1; i <= line / 2 + 1; i++) {
// 内层循环1: 展示空格个数
for (int j = 1; j <= i - 1; j++) {
System.out.print(' ');
}
// 内层循环2: 控制星星的个数
for (int k = 1; k <= (line / 2 + 1 - i) * 2 + 1; k++) {
System.out.print(ch);
}
ch -= 1;
System.out.println();
}
}
}
/*
99乘法表
*/
class Demo9 {
public static void main(String[] args) {
for (int i = 1; i <=9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j + "*" + i + "=" + (i * j) + "\t");
}
System.out.println();
}
}
}