`
Brucegaochina
  • 浏览: 40633 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java 打印金字塔和菱形

阅读更多
注释:关键是要找出星星与空格和行数之间的关系,这里就不多说了,纯属数学问题啦,直接上代码。

import java.util.Scanner;

public class PrintDiamond {

	/**
	 * @param args
	 * @since 1.0 08/23/11
	 */
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int row = 0;

		// to get a odd number
		do {
			System.out
					.println("Enter the oddNumber of half left-alignment diamond(odd number):");
			row = sc.nextInt();
		} while (row % 2 == 0);

		leftDiamond(row);
		System.out.println();
		rightDiamond(row);
		System.out.println();
		topDiamond(row);
		System.out.println();
		bottomDiamond(row);
		System.out.println();
		diamond(row);

	}

	private static void leftDiamond(int oddNumber) {
		for (int i = 1; i <= oddNumber; i++) {
			for (int j = 0; j < oddNumber - Math.abs(oddNumber + 1 - 2 * i); j++)
				System.out.print("*");

			System.out.println();

		}
	}

	private static void rightDiamond(int oddNumber) {
		for (int i = 1; i <= oddNumber; i++) {
			for (int j = 0; j < Math.abs(oddNumber + 1 - 2 * i); j++)
				System.out.print(" ");
			for (int j = 0; j < oddNumber - Math.abs(oddNumber + 1 - 2 * i); j++)
				System.out.print("*");

			System.out.println();

		}
	}

	private static void diamond(int oddNumber) {
		for (int i = 1; i <= oddNumber; i++) {
			for (int j = 0; j < Math.abs((oddNumber + 1) / 2 - i); j++)
				System.out.print(" ");
			for (int k = 0; k < oddNumber - Math.abs(oddNumber + 1 - 2 * i); k++)
				System.out.print("*");

			System.out.println();

		}
	}

	private static void topDiamond(int oddNumber) {
		for (int i = 1; i <= oddNumber; i++) {
			for (int k = 0; k < oddNumber - i; k++)
				System.out.print(" ");
			for (int j = 0; j < 2 * i - 1; j++)
				System.out.print("*");

			System.out.println();
		}
	}

	private static void bottomDiamond(int oddNumber) {
		for (int i = oddNumber; i >= 1; i--) {
			for (int k = 0; k < oddNumber - i; k++)
				System.out.print(" ");
			for (int j = 0; j < 2 * i - 1; j++)
				System.out.print("*");

			System.out.println();
		}
	}
}


结果:
http://screencast.com/t/grtbEDpv
  • 大小: 29.1 KB
分享到:
评论

相关推荐

    java打印镂空金字塔

    根据给定的文件信息,我们可以总结出以下关于“Java打印镂空金字塔”的相关知识点: ### 一、基础知识 #### 1.1 Java编程语言简介 Java是一种广泛使用的面向对象的编程语言,它由Sun Microsystems公司于1995年发布...

    java perl 金字塔源代码

    在编程世界中,Java 和 Perl 是两种非常不同的语言,但它们都能用来解决各种问题,包括创建有趣和富有教育意义的示例,如“金字塔打印”。本文将深入探讨这两个语言如何实现这一基本概念,并通过提供的“pyramid.pl...

    金字塔java入门程序

    【Java入门程序与金字塔原理】 在编程世界里,Java是一门广泛应用且易学难精的编程...总之,"金字塔java入门程序"是学习Java编程的良好开端,通过系统学习和不断实践,可以逐步攀登编程的高峰,构建起稳固的编程基础。

    java_金字塔

    通过以上三个示例,我们可以看到Java中绘制金字塔的基本方法和技巧。这些示例涵盖了从简单的实心金字塔到更复杂的空心金字塔以及倒金字塔的不同场景。通过对这些示例的学习,可以加深对Java中循环、条件语句等基础...

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

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

    JAVA中如何输出金字塔

    在JAVA中如何输出金字塔的形状,其实就是一定的算法加输出格式的控制。

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

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

    java3d金字塔

    标题与描述概述的知识点是关于使用Java编程语言创建一个3D金字塔模型的教程或示例代码。这涉及到了Java3D库的使用,该库是Sun Microsystems为Java平台开发的一套三维图形API,允许开发者创建复杂的3D场景并进行渲染...

    java实现金字塔(进化版)

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

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

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

    用Java3D-金字塔

    此外,项目中的“WordPress 中文文档.mht”文件可能是关于如何创建和运行这个Java3D金字塔程序的详细步骤或解释。MHT文件是一种单一文件格式,包含了HTML内容和所有相关的资源,如图像和样式表,这对于阅读和理解...

    Java程序关于金字塔编程

    输出×组建成金字塔。pubic class Pyramid

    打印数字金字塔初级10.cpp

    打印金字塔,初级代码c++已运行

    打印倒金字塔案例

    打印倒金字塔的案例,

    java输出星号金字塔源码

    在Java编程中,输出星号金字塔是一种常见的练习,它帮助初学者掌握控制流语句,如for循环和if条件判断。星号金字塔的绘制通常涉及到递归或嵌套循环的概念,这两种都是Java编程中的核心技能。下面我们将深入探讨如何...

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

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

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

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

    java编写金字塔源代码

    多种金字塔的编写,简单、明了,希望对你有所帮助

    c语言打印金字塔源码,可直接运行。

    c语言作业,用户输入金字塔层数,代码输出打印金字塔,代码为c格式,可直接下载运行。附送输出乘法表的代码,本着交流为本的意愿,本不愿意有积分限制,系统有限制最低积分为一分!

    MIPS金字塔例题_汇编_嵌入式_

    标题"MIPS金字塔例题_汇编_嵌入式_"指的是基于MIPS架构的汇编语言编程,用于解决嵌入式系统中的问题,可能是涉及到图像处理的案例,因为"金字塔"通常与图像处理中的多分辨率表示相关。嵌入式系统是将计算机硬件和...

Global site tag (gtag.js) - Google Analytics