Java打印菱形(空格菱形)(星星之间有空格)打印如下图形:
*
* *
* * * *
* * * * * *
* * * * * * * *
* * * * * *
大暑是什么季节* * * *
* *
*
就是下图这种: 每⼀个和每⼀个星星之间有⼀个空格的,输⼊偶数层的话再次进⾏输⼊自来水防冻
可以输⼊层数,因为图案只有奇数次的层,所以只能输⼊奇数的层数
动宾搭配不当有更好的⽅法或者更简单的⽅法,可以评论下
代码如下:
import java.util.Scanner;
/*
打印如下图案:
*
* *
* * * *
* *
*
*/
public class Star {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.print("请输⼊奇数层数:");
/
/ 要打印的层数
int layer_num = Int();
// 星星最多的⼀层的那⼀层的层数
int star_most_layer_num = (layer_num / 2) + 1;
运动员激励语10个字// 星星最多的⼀层下⾯还剩下多少层
int layer_surplus = layer_num / 2;
//第⼀层空格数
int first_em = layer_num-2;
//第⼆层的空格数
int secord_em = layer_num-3;
// 星星最多的⼀层的星星个数张小蒙
int star_most_count = layer_num - 1;
// 从第⼆层开始星星的个数
int star_start_num = 2;
// 从最多的⼀层开始倒数的层数的空格数
int invert_em = 2;
// 从最多的⼀层开始倒数的层数的星星数
int invert_star_num = layer_num-3;
if(layer_num%2!=0) {
// 先打印包括星星最多的⼀⾏的前⼏⾏
for(int i=1;i<=star_most_layer_num;i++) { if(i==1) {
for(int j=1;j<=first_em;j++) {
System.out.print(" ");
}
System.out.println("*");
}
else if ((i>1 && i<star_most_layer_num)) { for(int k=1;k<=secord_em;k++) {
System.out.print(" ");
}
for(int m=1;m<=star_start_num;m++) { System.out.print("*");
System.out.print(" ");
}
star_start_num = star_start_num + 2;
secord_em = secord_em - 2;
System.out.println();
}
else if (i==star_most_layer_num){
for(int j=1;j<=star_most_count;j++) {
System.out.print("*");
System.out.print(" ");
}
System.out.println();
}
}
for(int i=1;i<=layer_surplus;i++) {
if(i!=layer_surplus) {
for(int m=1;m<=invert_em;m++) {
System.out.print(" ");
}
invert_em = invert_em + 2;
for(int k=1;k<=invert_star_num;k++) {
System.out.print("*");
System.out.print(" ");
}
invert_star_num = invert_star_num - 2; System.out.println();
}
else {
for(int j=1;j<=first_em;j++) {
System.out.print(" ");
}
System.out.println("*");
}
}
break;
}
}
}
}
}
8月7号几点立秋运⾏截图:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论