用JAVA代码写一个心形
时间: 2023-08-31 08:35:22 浏览: 224
### 回答1:
您好!下面是一个用 Java 代码绘制心形的示例:
```
public class HeartShape {
public static void main(String[] args) {
double x, y, r;
r = Math.cos(Math.toRadians(30));
for (double i = 0; i <= 90; i += 0.1) {
x = 16 * Math.pow(Math.sin(i), 3);
y = 13 * Math.cos(i) - 5 * Math.cos(2 * i) - 2 * Math.cos(3 * i) - Math.cos(4 * i);
System.out.println((int) (x * r) + "\t" + (int) (y * r));
}
}
}
```
这段代码中,我们使用了 `Math.cos()` 和 `Math.sin()` 函数,来模拟心形的曲线。每次循环,程序计算出一个新的 x 和 y 坐标,然后将其输出到控制台。
最终,这些坐标点组成了一个心形的图像。你可以使用任何你喜欢的图形绘制工具,如 JavaFX,Swing 等绘制这个心形图形。
### 回答2:
要用JAVA代码写一个心形,我们可以使用ASCII字符来表示图形。下面是一个示例的JAVA代码:
```java
public class HeartShape {
public static void main(String[] args) {
int size = 10; // 设置心形的大小
// 循环打印每一行
for (int i = size/2; i <= size; i += 2) {
// 打印空格
for (int j = 1; j < size - i; j += 2) {
System.out.print(" ");
}
// 打印左边一半的心形
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
// 打印空格
for (int j = 1; j <= size - i; j++) {
System.out.print(" ");
}
// 打印右边一半的心形
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
// 换行
System.out.println();
}
// 打印下半部分的心形
for (int i = size; i >= 1; i--) {
// 打印空格
for (int j = size; j > i; j--) {
System.out.print(" ");
}
// 打印左边一半的心形
for (int j = 1; j < 2 * i; j++) {
System.out.print("*");
}
// 打印右边一半的心形
for (int j = size; j > i; j--) {
System.out.print(" ");
}
// 换行
System.out.println();
}
}
}
```
运行上述代码,将会输出一个以星号 `*` 组成的心形。你可以通过更改 `size` 的值来调整心形的大小,让其适应你的需求。
### 回答3:
要用Java代码写一个心形图案,可以使用Java的图形处理库,如AWT或JavaFX,以下是一个示例代码:
```java
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.shape.MoveTo;
import javafx.scene.shape.Path;
import javafx.scene.shape.QuadCurveTo;
import javafx.stage.Stage;
public class HeartShape extends Application {
@Override
public void start(Stage primaryStage) {
Group root = new Group();
Scene scene = new Scene(root, 300, 300, Color.WHITE);
// 创建路径
Path path = new Path();
// 移动到初始位置
MoveTo moveTo = new MoveTo();
moveTo.setX(150);
moveTo.setY(150);
// 添加二次贝塞尔曲线
QuadCurveTo quadCurveTo1 = new QuadCurveTo();
quadCurveTo1.setControlX(200);
quadCurveTo1.setControlY(50);
quadCurveTo1.setX(150);
quadCurveTo1.setY(100);
QuadCurveTo quadCurveTo2 = new QuadCurveTo();
quadCurveTo2.setControlX(100);
quadCurveTo2.setControlY(50);
quadCurveTo2.setX(150);
quadCurveTo2.setY(150);
// 将路径的起始点设置为曲线的最后一个点
path.getElements().add(moveTo);
path.getElements().add(quadCurveTo1);
path.getElements().add(quadCurveTo2);
// 设置路径的样式
path.setStroke(Color.RED);
path.setStrokeWidth(5);
path.setFill(Color.rgb(255, 0, 0, 0.3));
root.getChildren().add(path);
primaryStage.setTitle("Heart Shape");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
```
以上代码使用JavaFX库创建了一个窗口,窗口中画了一个心形图案。你可以运行该代码来查看效果。