Java利用for输出一个爱心
时间: 2023-07-18 10:21:15 浏览: 139
以下是Java代码,可以利用for循环输出一个爱心:
```java
public class Love {
public static void main(String[] args) {
for (int row = 1; row <= 17; row++) {
for (int col = 1; col <= 17; col++) {
if ((row == 1 && col % 3 != 0) || (row == 2 && col % 3 == 0) ||
(row - col == 2) || (row + col == 20)) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
}
}
```
这里使用了两个for循环,第一个循环控制输出的行数,第二个循环控制输出的列数。内部的if语句判断当前位置应该输出星号还是空格,从而输出一个爱心形状。
相关问题
java用*输出一个爱心
在Java中,如果你想用星号(*)输出一个简单的爱心图案,可以利用循环来控制行数和字符的位置。以下是一个常见的例子:
```java
public class Heart {
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
for (int j = 0; j <= i; j++) {
System.out.print("* ");
}
System.out.println(); // 结束一行
}
for (int i = 4; i >= 0; i--) {
for (int j = 0; j <= i; j++) {
System.out.print("* ");
}
System.out.println(); // 结束一行
}
}
}
```
这个程序会打印出下面这样的爱心形状:
```
*
***
*****
*******
*********
*******
*****
***
*
```
用java输出一个爱心动态代码
在Java中,可以使用控制台打印字符的方式来制作一个简单的爱心动态效果,下面是一个基本的例子,它会每秒钟输出一行爱心图案:
```java
import java.util.Scanner;
import java.lang.management.ManagementFactory;
public class HeartShape {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入显示爱心的行数 (建议5-10行): ");
int rows = scanner.nextInt();
if (rows < 5 || rows > 10) {
System.out.println("行数应保持在5到10之间,现在默认为5行");
rows = 5;
}
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= rows - i; j++) {
System.out.print(" ");
}
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print("* ");
}
System.out.println(); // 换行
}
for (int i = rows - 2; i >= 1; i--) {
for (int j = 1; j <= rows - i; j++) {
System.out.print(" ");
}
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print("* ");
}
System.out.println();
}
// 阻塞等待一秒钟,然后再次循环,实现动态效果
try {
Thread.sleep(1000);
ManagementFactory.getPlatformMBeanServer().getAttribute("java.lang:type=Threading", "ThreadCount");
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
运行这个程序时,你会看到一个上下对称的心形动态出现。
阅读全文