控制台打印空心菱形
来源:互联网 发布:淘宝面膜销量排行榜 编辑:程序博客网 时间:2024/05/20 22:30
思路:把打印菱形分为上下两部分,查找打印空格和星号所在行的关系,然后只打印边沿的星号即可,即空心。
package binary;
import java.util.Scanner;public class HollowDiamond {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入菱形的高度,必须是奇数:");
int height=input.nextInt();//菱形的总高度
/**
* 打印菱形的上半部分
*
*/
int top=(height+1)/2;//菱形的上半部分总高度
for(int j=1;j<=top;j++) {//行数
//打印上半部分的空格,形如倒三角形
for(int i=top-j;i>0;i--) {//打印的空格个数等于高度减去所在的行数
System.out.print(" ");
}
//打印上半部分的* ,形如等腰三角形
for(int i=1;i<=2*j-1;i++) {
if(i==1||i==2*j-1) {//只在边沿打印*,其他地方打印空格,即空心
System.out.print("*");//打印*的个数等于所在的行数*2-1
}else {
System.out.print(" ");
}
}
System.out.println();
}
/**
* 打印菱形的下半部分
*
*/
int bottom=(height-1)/2;//菱形的下半部分总高度
for(int i=1;i<=bottom;i++) {
//打印下半部分的空格等于所在的行数
for(int j=1;j<=i;j++) {//
System.out.print(" ");
}
//打印下半部分的*的规律: 2*(bottom+1-n)-1,其中n为所在的行数
for(int m=1;m<=2*(bottom+1-i)-1;m++) {
if(m==1||m==2*(bottom+1-i)-1) {//只在边沿打印*,其他地方打印空格,即空心
System.out.print("*");
}else {
System.out.print(" ");
}
}
System.out.println();
}
}
}
阅读全文
0 0
- 控制台打印空心菱形
- Java控制台打印一个空心菱形
- 在控制台打印一个空心的菱形
- 控制台输出空心菱形
- java打印菱形,空心菱形
- 打印菱形和空心菱形
- 打印一个空心菱形
- 打印空心菱形
- PHP 打印空心菱形
- 打印数字空心菱形
- PHP打印空心菱形
- 打印空心菱形
- Java 打印空心菱形
- java 打印 空心菱形
- 打印空心菱形
- 编程打印空心菱形
- 打印空心菱形
- JAVA 打印空心菱形
- bzoj4403 序列统计
- bzoj4562 [Haoi2016]食物链
- bzoj4993 [Usaco2017 Feb]Why Did the Cow Cross the Road II
- bzoj4994 [Usaco2017 Feb]Why Did the Cow Cross the Road III
- Oracle 学习笔记 图解深入剖析一个事务的操作流程
- 控制台打印空心菱形
- SSH整合中sessionFactory创建失败问题
- 京东面试题分享
- 新型农业经营主体
- javascript中对象与原型的理解;null和undefined的理解
- Oracle学习笔记day05——TCL语言
- onload
- Chrome浏览器Network面板http请求时间分析
- 杭电OJ_(2039)三角形