java打印各种菱形

/**
 * 类说明
 *
 * @author 曾修建
 * @version 创建时间:2014-7-23 上午09:50:46
 */
public class Diamond {

	public static void getDia(int n) {
		System.out.println("第一个 :");
		for (int i = 0; i < n/2+1; i++) {
			for (int j2 = 0; j2 < n/2+1-i; j2++) {
				System.out.print(" ");
			}
			for (int j2 = 0; j2 < 2*i+1; j2++) {
				System.out.print("+");
			}
			System.out.println();
		}

		for (int i = n/2; i > 0; i--) {
			for (int j = 0; j < n/2-i+2; j++) {
				System.out.print(" ");
			}
			for (int j = 0; j < 2*i-1; j++) {
				System.out.print("+");
			}
			System.out.println();
		}

		System.out.println("第二个 :");
		for(int i = 1;i <= n;i++){
		    if(i <= n/2 + 1){
		        for(int k = 1;k <= n/2 + 1- i;k++){
		            System.out.print(" ");
		        }
		        for(int k = 1;k <= i;k++){
		            System.out.print("+ ");
		        }
		            System.out.println();
		    }else{
		        for(int k =1;k <= (i -(n/2 + 1));k++){
		            System.out.print(" ");
		        }
		        for(int k = 1;k <= (2 *(n/2 + 1) - i);k++){
		            System.out.print("+ ");
		        }
		        System.out.println();
		    }
		}

		System.out.println("第三个  :");
		for(int k = 1;k <= n/2 + 1;k++){
		    for(int i = 1;i <= (n/2 + 1 - k);i++){
		        System.out.print(" ");
		    }
		    System.out.print("*");
		    for(int i = 1;i <= ( (k - 2) * 2 + 1);i++){
		        System.out.print(" ");
		    }
		    if(k != 1){
		        System.out.print("*");
		    }
		    System.out.println();
		}
		for(int k = n/2 ;k >=1;k--){
		    for(int i = 1;i <= (n/2 + 1 - k);i++){
		        System.out.print(" ");
		    }
		    System.out.print("*");
		    for(int i = 1;i <= ( (k - 2) * 2 + 1);i++){
		        System.out.print(" ");
		    }
		    if(k != 1){
		        System.out.print("*");
		    }
		    System.out.println();
		}
	}

	public static void main(String[] args) {
		getDia(9);
	}
}

结果如下:

第一个 :

+

+++

+++++

+++++++

++++++++

+++++++

+++++

+++

+

第二个 :

+

+ +

+ + +

+ + + +

+ + + + +

+ + + +

+ + +

+ +

+

第三个  :

*

* *

*   *

*     *

*       *

*     *

*   *

* *

*

时间: 2024-10-13 22:00:51

java打印各种菱形的相关文章

java打印一个菱形

哈哈,看见一个面试题,要求打印出一个菱形…… class Part1 { public static void paint(int n){ for(int i=1 ; i<=n ; i++){ paintDiamond(n,i) ; } for (int m=n-1;m>=0 ;m-- ) { paintDiamond(n,m) ; } } public static void paintDiamond(int n,int i){ for (int k=1;k<=n-i ;k++ ) {

java 打印空心菱形

public class Demo { public static void main(String[] args) { //首先.把菱形看成上下两部分,上五下四,所以,第一个for循环有5次,第二个for循环有4次 for( int i = 1; i <= 5; i++){ //将空格和*分开看,看" "的变化i=1时,它是4,2的时候是3,找规律 for( int j = 1; j <= 5-i ; j++){ System.out.print(" "

JAVA 打印菱形(优化)

打印正菱形 public class Graphics { public static void main(String[] args) { new Graphics().paint(9, false); } /** * 打印正菱形 * @param h 高度 * @param hollow 是否空心 */ public void paint(int h, boolean hollow){ if(h%2 != 1){ System.out.println("the height number c

案例&gt;&gt;&gt;用绝对值的方法打印出菱形

import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入菱形的层高(层高为奇数):"); int num = sc.nextInt(); // 控制输入层高为奇数 while (num % 2 == 0) { System.out.println(&q

java打印正金字塔,倒金字塔和“水影”金字塔

java打印正金字塔,倒金字塔和"水影"金字塔 --------原创文章,若要转载,请注明出处 小小少年 闲来无事,想起自己初学java的时候做的经典的无非就是打印出一些有意思的图形,心血来潮自己就写了这么一个打印金字塔的demo,自己回顾一下当初的感受,同时也 分享给初学java的同道中人,一起来培养编程的兴趣<(^-^)>. 金字塔图案 1,问题分析 我们都知道,打印输出的时候,都是从最左端输出,而这里,第一个星号是在中间.这实际是因为星号之前有很多空格.当我们使用问号

Java打印整数的二进制表示(代码与解析)

Java打印整数的二进制表示(代码与解析) int a=-99; for(int i=0;i<32;i++){ int t=(a & 0x80000000>>>i)>>>(31-i); System.out.print(t); } 拆分一下这段代码,要理解这个移位输出的问题还需要理解的以下内容:* 0x80000000是数的十六进制表示,转成二进制表示为10000000000000000000000000000000* 运算的优先级,移位运算高于逻辑运算,

java 打印流PrintWriter基本操作

import java.io.*; public class PrintDemo { public static void main(String[] args) { PrintWriter writer=null; writer=new PrintWriter(System.out); String str=new String("Hello cjc!!!"); writer.print(str); writer.close(); try { writer=new PrintWrit

根据输入的内容打印出菱形

/* 5 根据输入的内容打印出菱形 */ +(void)print:(NSInteger)count blankString:(NSString*)blankString flagString:(NSString*)flagString /* { NSMutableString * ptr = [[NSMutableString alloc]init]; for (NSInteger i = 0; i < count; i++) { for (NSInteger j = 0; j < coun

依据输入的内容打印出菱形

/* 5 依据输入的内容打印出菱形 */ +(void)print:(NSInteger)count blankString:(NSString*)blankString flagString:(NSString*)flagString /* { NSMutableString * ptr = [[NSMutableString alloc]init]; for (NSInteger i = 0; i < count; i++) { for (NSInteger j = 0; j < coun