每日一题---用‘*‘打印出边长为n的空心六边形

简介: 每日一题---用‘*‘打印出边长为n的空心六边形

用’*'打印出边长为n的空心六边形

/**
  *打印六边形要分上下两个部分分别进行
  *多用循环和判断语句
  *并要整清楚每个循环和判断是干什么的
  *我将对上部的循环和判断的作用进行分析,下部与其类似
 **/
import java.util.Scanner;
public class Test06 {
public static void main(String[] args) {
  System.out.println("请定义六边形的边长:");
  Scanner sc=new Scanner(System.in);
  int n=sc.nextInt();
  for(int i=0;i<n;i++) {
    for(int j=0;j<n-i;j++) {
      System.out.print(" ");
    }
    //既然要打印图形,则需要在每一行多余的地方用空格填补
    for(int l=0;l<2*n+2*i;l++) {
      if(i==0) {
        if(l<n+2*i) {
        System.out.print("* ");
        }
      }
      else {
      if(l==0) {
          System.out.print("*");
      }
      else if(l>0&&l<(2*n+2*i-2)){
        System.out.print(" ");
      }
      else if(l==(2*n+2*i-2)) {
        System.out.print("*");
      }
      //这个语句块是为了将'*'按照一定规律打印出来
      }
    }
    System.out.println();
  }                        //上半部分结束
  for(int i=n-2;i>=0;i--) {
    //因为上半部分已经把上下部分中间共用的行中的'*'打印出来了,所以这里的for循环只循环了n-1次
    for(int j=0;j<n-i;j++) {
      System.out.print(" ");
    }
    for(int l=0;l<2*n+2*i;l++) {
      if(i==0) {
        if(l<n+2*i) {
        System.out.print("* ");
        }
      }
      else {
      if(l==0) {
          System.out.print("*");
      }
      else if(l>0&&l<2*n+2*i-2){
        System.out.print(" ");
      }
      if(l==2*n+2*i-2) {
        System.out.print("*");
      }
      }
    }
    System.out.println();
  }
}
}

运行结果为:


相关文章
|
8月前
|
C语言
c语言编程练习题:7-4 输出菱形图案
本题要求编写程序,输出指定的由“A”组成的菱形图案。
92 0
|
2月前
|
数据可视化 图形学 Python
在圆的外面画一个正方形:Python实现与技术解析
本文介绍了如何使用Python的`matplotlib`库绘制一个圆,并在其外部绘制一个正方形。通过计算正方形的边长和顶点坐标,实现了圆和正方形的精确对齐。代码示例详细展示了绘制过程,适合初学者学习和实践。
50 9
|
8月前
|
C语言
c语言编程练习题:7-59 打印菱形图案
c语言编程练习题:7-59 打印菱形图案
83 0
|
8月前
|
C++
[C++/PTA] 判断一个点是否在一个圆的内部
[C++/PTA] 判断一个点是否在一个圆的内部
85 0
|
C语言
C语言实例:创建各类三角形图案(杨辉三角,弗洛伊德三角形....)
C语言实例:创建各类三角形图案(杨辉三角,弗洛伊德三角形....)
166 0
|
机器学习/深度学习 Python
【每周一坑】输出三角形
如果输出固定长度对你来说太简单了,可以增加一个输入 n(n为正整数且 n>3),作为输出三角形第一行星号的数量。
【每日一题Day50】LC1812判断国际象棋棋盘中一个格子的颜色 | 找规律
【每日一题Day50】LC1812判断国际象棋棋盘中一个格子的颜色 | 找规律
87 0
|
Go 开发者
经典案例打印空心金字塔 | 学习笔记
简介:快速学习经典案例打印空心金字塔
166 0
经典案例打印空心金字塔 | 学习笔记
PTA 7-1 打印三角形拼图 (15 分)
一个正方形可以用两个等边直角三角形拼出来。给定正方形的边长、两个三角形和对角线所用的符号,请你打印出这两个三角形拼出的正方形。
143 0