IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 算法训练 正六边形(JAVA实现) -> 正文阅读

[数据结构与算法]算法训练 正六边形(JAVA实现)

资源限制

时间限制:1.0s ? 内存限制:256.0MB

问题描述

  由键盘输入一个自然数n(2<=100) 编程打印如图所示的正六边形(n为边长)。其中每条边上含有n个*号。

输入格式

  一行:包含一个正整数n(2<=100)。

输出格式

  题目要求的图形。

样例输入

5

样例输出

数据规模和约定

  2<=n<=100。

提示:从标准输出设备的第一行开始,图形左边顶点靠左边。

可能是我想复杂了吧,我把图像分成了两个部分,分成了前n行?和后n-1行来分开分析的

如下:

?
import java.util.Scanner;
public class Main {
    public static void main(String[]args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        for(int i = 1; i < n + 1; i++){               //i控制行
            if(i == 1) {                      //第一行
                for (int j = 1; j < n; j++) {       //先输出空格
                    System.out.print(" ");
                }
                for (int j = 1; j < n + 1; j++) {    //再输出*
                    System.out.print("*");
                }
                System.out.println();
            }

             else{                //第一行之后的前n行(整个图像的上半部分)
                for(int j = 1; j < n - i +1 ; j ++){     //输出空格
                    System.out.print(" ");
                }
                System.out.print("*");            //只输出一个*
                for(int j = 1; j < n +(i - 1)*2 - 1 ;j++){      //输出空格
                    System.out.print(" ");

                }
                System.out.println("*");        //再输出一个*
            }                         //至此,图像上半部分输出完毕,下半部分就是对称
        }                 //注意 i又从1开始

        for(int i = 1 ; i <  n  ; i++){         //i控制行
            if(i == n - 1) {             //输出图像最后一行
                for (int j = 1; j < n; j++) {
                    System.out.print(" ");
                }
                for (int j = 1; j < n + 1; j++) {
                    System.out.print("*");
                }
                System.out.println();
            }
            else{
                for(int j = 1; j < i +1  ; j ++){
                    System.out.print(" ");
                }
                System.out.print("*");
                for(int j = 1; j < 3*n - 2*i -3; j++){
                    System.out.print(" ");
                }
                System.out.println("*");
            }
        }
    }
}

?

哎嘿,值得纪念的一道题嘿嘿嘿2020.11.15-2021.11.15

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-12-05 12:17:23  更:2021-12-05 12:20:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 14:33:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码