用Java输出一个动态的爱心
时间: 2024-05-01 22:18:08 浏览: 67
这是一个比较有趣的问题,让我想到了一些有趣的方法来实现。以下是一种可能的方法:
```
public class DynamicHeart {
public static void main(String[] args) throws InterruptedException {
int width = 50;
int height = 20;
int heartPosX = 0;
int heartPosY = height / 2 - 1;
int frameCounter = 0;
while (true) {
// clear the screen
System.out.print("\033[H\033[2J");
// draw the heart
for (int y = 0; y < height; y++) {
for (int x = 0; x < width; x++) {
if (((x - heartPosX) * (x - heartPosX) + (y - heartPosY) * (y - heartPosY) == 18)
|| ((x - heartPosX) * (x - heartPosX) + (y - heartPosY) * (y - heartPosY) == 32 && (x - heartPosX) > 0 && (y - heartPosY) > 0)) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
// update the position of the heart
heartPosX = (int) (width / 2 + width / 3 * Math.sin((double) frameCounter / 10));
// wait for a short time
Thread.sleep(50);
// increase the frame counter
frameCounter++;
}
}
}
```
这个程序会输出一个动态的爱心,每帧的位置都会根据正弦函数进行更新。你可以尝试运行这个程序看看效果如何。
阅读全文