java绘制五角星_java画各种五角星

Java 根据输入的值动态的画出各种五角星同时控制其大小(利用星号),主要实体的,空心的,平移的,利用for循环对初学者有一定的帮助。可以通过输入n(n>3)动态的控制五角星的大小,下面是完整代码和显示结果:

public class WJXUtils {

/**

* @param args

*/

public static void main(String[] args) {

//实体五角星

// createWJXS(4);

// 实体五角星平移

// createWJXSY(4,2,1);

//空心五角星移动(星星外面也是空心)

// createWJXKY(4,6,6);

//空心五角星

// createWJXK(6);

//空心外部区域全部显示星星的空心

//createWJXKS(8);

//空心外部区域全部显示星星的空心的五角星平移

createWJXKSY(4,6,7);

}

//K表示区域总共4个,i表示行,j表示列 空心

public static void createWJXK(int n){

int i,i21,i22,i3,i4,j,j2,j21,j22,j3,j4,k=0;

int m2=0;

int m3=0;

for( k=1;k<=4;k++){

//part 1 if(k==1){

for( i=0;i

//最大列数为6*n

for( j=0;j<6*n;j++){

if((j<3*n-i+1&&j>=3*n-i )||(j<=3*n+i&&j>3*n+i-1) ){

System.out.print("*");

}else{

System.out.print(" ");

}

}

System.out.println();

}

}

if(k==2){

//part 2

for(j2=1;j2<=6*n+1;j2++){

if((j2<=2*n+1)||(j2>4*n&&j2<=6*n)){

System.out.print("*");

}else{

System.out.print(" ");

}

}

for( i21=n+1;i21

System.out.println();

for( j21=0;j21<6*n;j21++){

if((j21>=3&&j21<4)||(j21>6*n-4&&j21<=6*n-3)){

System.out.print("*");

}else{

System.out.print(" ");

}

}

}

for( i22=n+2;i22

System.out.println();

for( j22=0;j22<=6*n;j22++){

if((j22>=5&&j22<6)||( j22>6*n-6&&j22<=6*n-5)){

System.out.print("*");

}else{

System.out.print(" ");

}

}

}

}

if(k==3){

//part 3

for( i3=0;i3

System.out.println();

for(j3=0;j3<6*n;j3++){

if((j3>5+m2&&j3<=5+m2+1)||((j3>=6*n-(5+m2)-1)&&j3

System.out.print("*");

}else{

//显示该部分中间那个点

if(i3==n-4&&j3==3*n){

System.out.print("*");

}else{

System.out.print(" ");

}

}

}

m2++;

}

}

if(k==4){

//part4

for( i4=0;i4

System.out.println();

for( j4=0;j4<6*n;j4++){

if((j4>=n+1-m3&&j4=3*n-3-3*m3&&j4<3*n-2-3*m3)||((j4>3*n+2+3*m3)&&j4<=3*n+2+3*m3+1)||(j4>5*n+m3-2&&(j4<=5*n+m3-1))){

System.out.print("*");

}else{

System.out.print(" ");

}

}

m3++;

}

}

}

}

//K表示区域总共4个,i表示行,j表示列 里面空心外面全部实心

public static void createWJXKS(int n){

int i,i21,i22,i3,i4,j,j2,j21,j22,j3,j4,k=0;

int m2=0;

int m3=0;

for( k=1;k<=4;k++){

//part 1 no change

if(k==1){

for( i=0;i

//最大列数为6*n

for( j=0;j<6*n;j++){

if((j<3*n-i+1&&j>=0 )||(j<=6*n&&j>3*n+i-1) ){

System.out.print("*");

}else{

System.out.print(" ");

}

}

System.out.println();

}

}

if(k==2){

//part 2

for(j2=1;j2<=6*n+1;j2++){

if((j2<=2*n+1)||(j2>4*n&&j2<=6*n)){

System.

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值