900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > java星号心形代码_肿么用JAVA打印出心形的图案

java星号心形代码_肿么用JAVA打印出心形的图案

时间:2024-07-21 18:13:20

相关推荐

java星号心形代码_肿么用JAVA打印出心形的图案

java中怎样打印心形

海阔天空29285 | 浏览 3550 次

推荐于-08-16 09:15:40最佳答案

package com.zeph.j2se.alg;

public class Heart {

int HighLevel(int wide) {

int i = 0, j = 0, k = 0, t = 0, m = 0, n = 0, count = 1;// i控制循环内高度,j控制每行前面空格,k控制输出的*数

// t控制高层星号中间空格,m记录高层最底行的星数,以下逐行增4

// n记录顶行空个数,以下逐行减4;count记录高层高度,与high无关

m = (wide - 4) / 2;

do {

count++;

m -= 4;

} while (m > 4);

if ((wide - 4) % 2 == 0)// 区别对待奇偶宽度,奇数中间最小空1个,偶数最小空两个

{

n = 2 + 4 * (count - 1);

m--;

} else

n = 1 + 4 * (count - 1);

for (i = 0; i < count; i++) {

for (j = (count - i) * 2; j > 0; j--)

System.out.print(" ");

for (k = 0; k < m; k++)

System.out.print("*");

for (t = 0; t < n; t++)

System.out.print(" ");

for (k = 0; k < m; k++)

System.out.print("*");

m += 4;

n -= 4;

System.out.print("\n");

}

return 0;

}

int LowLevel(int wide) {

int i = 0, j = 0, k = 0;// i控制输出行,j控制输出每行前的空格,k控制输出*

int high = 0, tmp = wide;

do// 计算所需高度

{

high++;

tmp -= 4;

} while (tmp > 4);

high += 1;

for (i = 0; i < high; i++) {

for (j = 0; j < 2 * i; j++)

System.out.print(" ");

for (k = wide - 4 * i; k > 0; k--)

System.out.print("*");

System.out.print("\n");

}

return 0;

}

public static void main(String[] args) {

int wide = 30;

Heart heart = new Heart();

heart.HighLevel(wide);

heart.LowLevel(wide);

}

}

取消

评论

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。