您的位置:首页 > 编程语言 > Java开发

Java 打印空心菱形

2016-07-26 19:50 531 查看
import java.util.Scanner;

class DrawDiamond

{

public static void main(String[]

args)

{

Scanner in=new Scanner

(System.in);

int n;

while(true){

System.out.println("输入菱形

宽度(奇数):");

n=in.nextInt();

while(n%2==0)

{

System.out.println("

输入菱形宽度(奇数):");

n=in.nextInt();

}

//System.out.println(n+n);求



int i,k,j,mark;

for(i=1,mark=0;i<=n;i+=2)//

输出*以后mark就变1

{

for(j=i;j<=n;j+=2)//

*

{//

1 * * 4

if(j!=n)//

2* 3 *

System.out.print(" ");// 1

else//

{//

System.out.print("*");// 2

mark=1;//

}//

for

(k=2;k<=i/2+1&&mark==1;++k)//

System.out.print(" "); //
3

大致功能如图所示,看不懂

mark=0;
//

就画个图自己分解一下

}//

for(k=i/2;k>0;--

k)//4

{//

if(k==1)//

System.out.print("*");//

else//

System.out.print(" ");//

}

System.out.println

();

}//上半部分

/*------------------------------------------

*/

// 下半部分

for(i=1,k=n;i<=n/2;++i)

{

for(j=1;j<=n/2+1;+

+j)///左边

{

if(j==i+1)

System.out.print("*");

else

System.out.print(" ");

}

for(j=k;j>=5;j-=2)//

右边 k=n;j>=5,因为划分完

以后,只有n=5,会输出一个字符

{

//

n=7,输出两个

if(j==5)

System.out.print("*");

else

System.out.print(" ");

}

k-=2;

System.out.println

("");

}

System.out.println();

}}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: