每日一题---用‘*‘打印出边长为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();
  }
}
}

运行结果为:


相关文章
|
6月前
【牛客网】BC68 X形图案
【牛客网】BC68 X形图案
62 0
|
6月前
|
C语言
c语言编程练习题:7-4 输出菱形图案
本题要求编写程序,输出指定的由“A”组成的菱形图案。
83 0
|
5月前
|
C语言
【C语言刷题每日一题#牛客网BC69】——空心正方形图案
【C语言刷题每日一题#牛客网BC69】——空心正方形图案
|
5月前
|
C语言
C语言---正方形图案--循环
C语言---正方形图案--循环
|
6月前
|
C语言
c语言编程练习题:7-59 打印菱形图案
c语言编程练习题:7-59 打印菱形图案
75 0
|
11月前
|
C语言
C语言二十一弹 --打印空心正方形
C语言二十一弹 --打印空心正方形
学C的第二十四天【练习:1. 打印菱形;2. 打印自幂数;3. 求Sn=a+aa..n项之和;4. 喝汽水问题;5. 调整数组使奇数位于偶数前面;6. 打印X形图案;7……;8……;9……;10……】-2
5. 调整数组使奇数全部都位于偶数前面 题目: 输入一个整数数组,实现一个函数, 来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分, 所有偶数位于数组的后半部分。
126 0
打印’X‘形图案
打印’X‘形图案
79 0
|
C语言
C语言实例:创建各类三角形图案(杨辉三角,弗洛伊德三角形....)
C语言实例:创建各类三角形图案(杨辉三角,弗洛伊德三角形....)
151 0
|
机器学习/深度学习 Python
【每周一坑】输出三角形
如果输出固定长度对你来说太简单了,可以增加一个输入 n(n为正整数且 n>3),作为输出三角形第一行星号的数量。