Java-Idea如何打印菱形

转行学Java了,目前在看《Java从入门到精通》
其中第四章的练习题中,要求输出一个菱形,这个基础版有看到好多的参考答案:

public class Test_ever 
{
	public static void main(String[] args)
	{
		int x=8;//菱形的半对角线长度
		int y=x;//两条对角线的长度一致
		//PS:暂时只会实现对角线长度一样的,至于不一样的嘛...emmmmm以后会了再写吧
		for(int i=1;i<2*x;i++)//第i行
		{
		   for(int j=1;j<2*y;j++)//第j列
			{
             //把菱形分为上下两部分
               //上面的部分(第1行到第x行)
				if(i<=x)
				{
					if(j==y-i+1||j==y+i-1)
						System.out.print("*");//用符号“*”作为边
					else
						System.out.print("\0");//其余地方空格
				}
				//下面的部分(第x+1行到第2*x-1行)
				else
				{
					if(j==i-y+1||j==3*y-i-1)
						System.out.print("*");
					else
						System.out.print("\0");
				}
			}
			System.out.println();//第i行的每一列都输出完毕后换行
		}
	}
}

输出的结果:
Java-Idea如何打印菱形_第1张图片
可能我看题的时候想的比较复杂,希望输出的是这个样子

  /\  
 /  \ 
/    \
\    /
 \  / 
  \/  

所以就自己研究了下:

public class test{
	public static void main(String [] args){
	//菱形上半部分
	    for (int i = 3; i >= 1; i--) {
	        for (int j = 1; j <= 6; j++) {
	            if (i == j) {
	                System.out.print("/");
	            } else if (i + j == 7) {
	                System.out.print("\\");
	            } else {
	                System.out.print(" ");
	            }
	        }
	        System.out.println();
	    }
	    // 菱形下半部分
	    for (int i = 1; i <= 3; i++) {
	        for (int j = 1; j <= 6; j++) {
	            if (i == j) {
	                System.out.print("\\");
	            } else if (i + j == 7) {
	                System.out.print("/");
	            } else {
	                System.out.print(" ");
	            }
	        }
	        System.out.println();
	    }
	}
}

你可能感兴趣的:(Java-Idea如何打印菱形)