`
高级java工程师
  • 浏览: 408746 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java实现打印金字塔

阅读更多
package io;

import java.util.Arrays;   
    
/**  
 * 打印一个字符组成的金字塔  
 */  
public class Pyramid {   
    
    // 程序入口   
    public static void main(String[] args) {   
        printPyramid(21, '*');   
    }   
    
    /**  
     * 打印一座金字塔。  
     *  
     * @param bottom_width 底层宽度。必须是奇数。  
     * @param ch           组成金字塔的字符  
     */  
    private static void printPyramid(int bottom_width, char ch) {   
        if (bottom_width < 1 || bottom_width % 2 == 0) {   
            throw new IllegalArgumentException();   
        }   
    
        int height = bottom_width / 2 + 1;  // 金字塔的高度   
        for (int i = 0; i < height; i++) {   
            int width = i * 2 + 1;    // 本层的宽度   
            System.out.println(getLevel(bottom_width, width, ch));   
        }   
    }   
    
    /**  
     * 生成金字塔的一行  
    *  
     * @param bottom_width 金字塔宽度  
     * @param width        本层的宽度  
     * @param ch           要打印的字符  
    *  
    * @return 金字塔的一行  
     */  
    private static String getLevel(int bottom_width, int width, char ch) {   
       int space_width = (bottom_width - width) / 2;   // 前面空格的宽度   
       return expand(' ', space_width) + expand(ch, width);   
    }   
    
    /**  
     * 生成包含若干个字符的字符串。  
     *  
     * @param c     生成字符串的字符  
    * @param width 字符串的长度  
     *  
     * @return 生成的字符串  
    */  
    private static String expand(char c, int width) {   
       char[] chars = new char[width];   
        Arrays.fill(chars, c);   
       return new String(chars);   
   }   
}
分享到:
评论

相关推荐

    java打印镂空金字塔

    ### 二、打印金字塔逻辑分析 #### 2.1 镂空金字塔的定义 镂空金字塔是指一个由星号(*)组成的图形,其特点是除了最外层的星号外,中间部分为空白。例如,当层数为5时,输出如下: ``` * * * * * * * * * ``` ##...

    金字塔java入门程序

    【Java入门程序与金字塔原理】 在编程世界里,Java是一门广泛应用且易学难精的编程语言,尤其适合初学者入门。"金字塔java入门程序"是针对初学者设计的学习资源,旨在通过实践来教授基本的Java编程概念。"金字塔"在...

    java perl 金字塔源代码

    在“pyramid.pl”中,我们可能会看到以下代码片段用于打印金字塔: ```perl print " "*$n, "* "x($n+1), "\n" for 1..$n; ``` 这段Perl代码会打印一个由星号(*)组成的金字塔,其中 `$n` 表示金字塔的高度。它通过...

    金字塔的打印的实现for循环

    初级java学习打印金字塔,利用for循环的嵌套,来实现在在第一行输出一个“*”,第二行输出两个“*”,依次类推

    java实现金字塔(进化版)

    在屏幕上打印出n行的金字塔图案,似: * *** ***** *******

    打印金字塔数字模式的 Java 程序.docx

    Java 程序打印金字塔数字模式是通过控制循环和巧妙的数学逻辑实现的。下面将详细解释这个程序的实现方式、方法以及其时间复杂度和空间复杂度。 首先,我们了解金字塔数字模式的基本特征。这种模式的特点是每行的...

    java和oracle中如何输出金字塔和镂空金字塔

    总结一下,Java和Oracle都有各自的方式来实现金字塔和镂空金字塔的输出。Java更适合这种任务,因为它提供了更直观的控制流和文本输出机制。而在Oracle中,虽然可以实现,但这并不是其设计的主要用途。如果你对这些...

    java_金字塔

    在Java中,可以通过嵌套循环来实现各种图形的绘制,其中包括金字塔形状。金字塔通常由星号(*)组成,并通过调整循环次数来控制其形状。 #### 2. 循环结构 绘制金字塔时主要用到两种类型的循环:外层循环用于控制行数...

    打印金字塔星形图案的Java程序.docx

    在 Java 编程中,打印金字塔星形图案是一项常见的练习,它可以帮助初学者理解控制流、循环和递归等概念。下面将详细解释如何使用两种不同的方法来实现这个任务。 1. 使用嵌套循环 首先,我们可以使用两层嵌套循环...

    java输出星号金字塔源码

    下面我们将深入探讨如何用Java实现星号金字塔的源码,并了解相关知识点。 首先,让我们看一个简单的星号金字塔的例子,它通过嵌套for循环实现: ```java public class Pyramid { public static void main(String...

    Java 编写的数字金字塔的示例代码.zip

    此外,此话题还可以延伸到更复杂的话题,比如递归实现数字金字塔,或者使用二维数组来存储和打印金字塔,进一步提升编程技巧。 总之,Java编写数字金字塔的示例代码是一个很好的学习资源,它结合了基本的编程概念和...

    打印倒金字塔星形图案的Java程序.docx

    倒金字塔星形图案的打印是Java编程中一种基础的练习,它主要涉及到循环结构的运用。以下是关于如何使用Java程序打印倒金字塔星形图案的详细解释: 首先,我们需要获取用户输入的行数,这通常通过Scanner类或...

    刚学java,就利用For循环实现打印各种形状形

    刚学java,就利用For循环实现打印各种形状形,test04 输出金字塔,输出倒,输出右,输出右倒形,等各种形状,也可以通过变换输出自己想要的形状,有需要的伙伴可以自行下载

    基于java输出星号金字塔.pptx

    在实际编程中,你可以根据需求调整`rows`的值,或者通过命令行参数传递行数,以实现更灵活的星号金字塔生成。此外,还可以扩展此程序,比如添加功能来打印倒置的金字塔,或者改变星号的排列方式,形成不同的图形。 ...

    java代码19题

    这段代码实现了一个打印金字塔图案的功能。`for`循环结构被用来创建一个星号(*)构成的金字塔形状。外层循环控制行数,内层有两个嵌套的`for`循环,第一个用于打印空格,第二个用于打印星号。`nextInt()`方法用于从...

    java控制台输出数字金字塔示例分享

    在Java中,如果想要实现完全居中的数字金字塔,可能需要使用更复杂的文本库或者图形用户界面(GUI)。 总结起来,这个Java示例展示了如何利用基础的编程概念创建数字金字塔。它涵盖了数组操作、循环控制、字符串...

    java综合面试题java综合面试题

    这通常是一个涉及循环和字符串操作的问题,例如打印星号(*)组成的金字塔。 4. **JAVA 的事件委托机制和垃圾回收机制** 事件委托机制是GUI编程中的概念,事件监听器通过事件源将事件传递给处理器。垃圾回收机制则...

    大学常见算法的java实现及思考-打印帕斯卡三角形(杨辉三角)(动态间距)

    可以根据用户输入的层数动态调整数字之间间隔距离的“金字塔”型杨辉三角。

    金字塔图案.docx

    该题目要求使用 Java 语言编写程序来实现金字塔图案的打印。 知识点一:程序框架 为了实现金字塔图案的打印,需要确定程序框架。该框架包括使用 for 循环来控制打印的行数,和在每一行中打印空格和星号。程序框架...

    (word完整版)Java趣味编程100例.doc

    Java 越趣味编程 100 例中,我们提供了一个完整的金字塔图案生成程序,包括外层循环、内层循环和打印空格数和星号数的算法。 知识点: * 完整程序的设计 * 外层循环和内层循环的使用 * 打印空格数和星号数的算法 ...

Global site tag (gtag.js) - Google Analytics