/**
* 打印矩形,直角三角形,到直角三角形,等腰三角形,到等腰三角形,菱形
*/
public class Test1 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.print("请输入行数:");
//矩形
int line=input.nextInt();
for (int i = 0; i < line; i++) {
for (int j = 0; j < line; j++) {
System.out.print("*");
}
System.out.println();
}
System.out.println("-------------------------");
//直角三角形
for (int i = 0; i <line; i++) {
for (int j = 0; j <=i; j++) {
System.out.print("*");
}
System.out.println();
}
System.out.println("-------------------------");
//倒直角三角形
for (int i = line; i>0; i--) {
for (int j = 0; j <i; j++) {
System.out.print("*");
}
System.out.println();
}
System.out.println("-------------------------");
/**
* *
***
*****
*******
*********
先分析,在根据推算
行号,比如输入的是int line=5;
i
行号 空格 *号
1 4 1
2 3 3
3 2 5
4 1 7
5 0 9
line-i 2*i-1
*/
for (int i = 1; i <=line; i++) {
//先打印空格
for (int j = 0; j <line-i; j++) {
System.out.print(" ");
}
//在打印*
for (int k = 0; k <2*i-1; k++) {
System.out.print("*");
}
System.out.println();
}
System.out.println("-------------------------");
}
public static void linxin() {
Scanner input=new Scanner(System.in);
System.out.print("请输入行数:");
int N=input.nextInt();
//必须是奇数
while (N%2==0) {
System.out.print("请输入行数:");
N=input.nextInt();
}
int mid=(N+1)/2; //获取中间的行数
for (int i = 1; i <=N; i++) {
int a=i;
if (i>mid) { //已经超过中间行,第6行就和第4行一样
a=N+1-i;
}
//先打印空格
for (int j = 0; j <mid-a; j++) {
System.out.print(" ");
}
//打印空格
for (int k = 0; k <2*a-1; k++) {
System.out.print("*");
}
System.out.println();
}
}
}