控制台打印空心菱形
2017-08-30 07:51
316 查看
思路:把打印菱形分为上下两部分,查找打印空格和星号所在行的关系,然后只打印边沿的星号即可,即空心。
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();
}
}
}
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();
}
}
}
相关文章推荐
- 在控制台打印一个空心的菱形
- Java控制台打印一个空心菱形
- 打印出空心菱形
- java 打印菱形和空心菱形
- java打印实心菱形,空心菱形,for循环嵌套
- 用for循环打印半金字塔、金字塔、正方形、倒金字塔、菱形、空心图形等
- Java实现打印实心与空心菱形
- java 通过控制台输入的数字打印菱形字母
- php练习——用for循环打印半金字塔、金字塔、正方形、倒金字塔、菱形、空心图形等
- 用JavaScript打印三角形、菱形、空心菱形
- java控制台打印出菱形
- PHP打印空心菱形
- java打印菱形,空心菱形
- Java打印空心菱形,非常简单的操作
- for循环图形打印(三角形菱形实心/空心,字母K)
- java 循环问题 大全 求2~100a之内的素数。求水仙花数:(1~1000)。有1、2、3、4四个数字,输出所有能组成的互不相同且无重复的三位数。打印空心菱形
- PTA7-15 编程打印空心字符菱形(10 分)
- 用java打印空心菱形
- java利用循环打印空心菱形
- 打印数字空心菱形