Java中各种打印形状
1.打印99乘法表
for (int i = 1; i <= 9; i++)
// {
// for(int n = 1; n <= i; n++)
// {
// System.out.print( i + " x " + n + " = " + i * n + " ");
// }
// System.out.println();
// }
2.打印空的菱形
for(int i=1; i<=7; i++){ //一共7行
if(i<=3) { //在1-3行打印正三角形
for(int j=1; j<=7; j++){ //每行7列
if(j==i+3||j==5-i){ //在i+3和5-i两个地方打印*,第一行这两者相等,所以只打印一个*
System.out.print("*");
}
else{
System.out.print(" ");
}
}
}
else{
for(int k=1; k<=7; k++){ //在4-7行打印倒三角形
if(k==i-3||k==11-i){ //在i-3和11-i两个地方打印*,最后一行这两者相等,所以只打印一个*
System.out.print("*");
}
else{
System.out.print(" ");
}
}
}
System.out.println();
}
}
}
3.打印正三角型
for(int i=0;i<=5;i++)
{
for(int j=0;j<i;j++)
System.out.print("*");
System.out.println();
4.实心菱形
int i,j,k;
for(i=1;i<=5;i++){
for(j=1;j<=5-i;j++)
System.out.print(" ");
for(k=1;k<=2*i-1;k++)
System.out.print("*");
System.out.println("");}
for(i=1;i<=4;i++){
for(j=1;j<=i;j++)
System.out.print(" ");
for(k=1;k<=9-2*i;k++)
System.out.print("*");
System.out.println("");}
5.金字塔
int i = 5;
for (int j = 1; j <= i; j++) {
//控制星号数量
int times = (2*j)-1;
//控制空格数量
int time=0;
//根据规律,做出限定
while(time!=(i-j))
{
System.out.print(" ");
time++;
}
while (times != 0) {
System.out.print("*");
times--;
}
System.out.print("\n");
}
6.打印心型
static void draw(int n) {
int i, j;
for (i = 1 - (n >> 1); i <= n; i++)
if (i > 0) {
for (j = 0; j < i; j++)
System.out.print(" ");
for (j = 1; j <= 2 * (n - i) + 1; j++)
if (j == 1 || j == 2 * (n - i) + 1)
System.out.print(" *");
else
System.out.print(" ");
System.out.println("\n");
} else if (i == 0) {
System.out.print(" *");
for (j = 1; j < n; j++)
System.out.print(" ");
System.out.print(" *");
for (j = 1; j < n; j++)
System.out.print(" ");
System.out.print(" *\n");
} else {
for (j = i; j < 0; j++)
System.out.print(" ");
for (j = 1; j <= n + 2 * i + 1; j++)
if (i == 1 - (n >> 1))
System.out.print(" *");
else if (j == 1 || j == n + 2 * i + 1)
System.out.print(" *");
else
System.out.print(" ");
for (j = 1; j <= -1 - 2 * i; j++)
System.out.print(" ");
for (j = 1; j <= n + 2 * i + 1; j++)
if (i == 1 - (n >> 1))
System.out.print(" *");
else if (j == 1 || j == n + 2 * i + 1)
System.out.print(" *");
else
System.out.print(" ");
System.out.print("\n");
}
}
public static void main(String[] args) {
System.out.println("Please input the size (n>=4):");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
draw(n);
}
}