用Java编写一个爱心程序,并解释每一行代码
import java.awt.Color; // 导入颜色类
import java.awt.Graphics; // 导入图形类
import javax.swing.JFrame; // 导入窗口类
public class Heart extends JFrame { // 定义一个继承自JFrame的Heart类
public Heart() { // 构造函数
setSize(400, 400); // 设置窗口大小
setLocationRelativeTo(null); // 窗口居中
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 窗口关闭时退出程序
setBackground(Color.WHITE); // 设置背景颜色为白色
setVisible(true); // 显示窗口
}
public void paint(Graphics g) { // 重写paint方法
g.setColor(Color.RED); // 设置画笔颜色为红色
int x, y; // 定义坐标变量
for (int i = 30; i < 200; i++) { // 循环绘制爱心
for (int j = 30; j < 200; j++) {
double d = Math.pow((Math.pow(i - 115, 2) + Math.pow(j - 100, 2)), 0.5); // 计算距离
if (d < 50 && d > 46 || d < 30) { // 判断距离是否在合适的范围内
x = i; // 设置坐标
y = j;
g.drawLine(x, y, x + 1, y + 1); // 绘制像素点
}
}
}
}
public static void main(String[] args) { // 主函数
new Heart(); // 创建一个Heart对象
}
}
解释:
import java.awt.Color;和import java.awt.Graphics;导入了Java的颜色类和图形类。import javax.swing.JFrame;导入了Java的窗口类。public class Heart extends JFrame定义了一个名为“Heart”的类,继承自JFrame类。public Heart()是Heart类的构造函数,用于初始化窗口的一些属性。setSize(400, 400);设置窗口的大小为400x400。setLocationRelativeTo(null);设定窗口位置居中。setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);设定窗口关闭时退出程序。setBackground(Color.WHITE);设置窗口的背景颜色为白色。setVisible(true);使窗口可见。public void paint(Graphics g)重写了JFrame的paint方法,用于绘制图形。g.setColor(Color.RED);设置画笔颜色为红色。int x, y;定义了坐标变量。for (int i = 30; i < 200; i++) {和for (int j = 30; j < 200; j++) {循环绘制爱心。double d = Math.pow((Math.pow(i - 115, 2) + Math.pow(j - 100, 2)), 0.5);计算距离,判断是否绘制像素点。if (d < 50 && d > 46 || d < 30) {判断距离是否在合适的范围内,符合条件的绘制像素点。x = i;和y = j;设置坐标。g.drawLine(x, y, x + 1, y + 1);绘制像素点。public static void main(String[] args)是程序的入口点,创建了一个Heart对象并显示了窗口。
原文地址: https://www.cveoy.top/t/topic/yV5 著作权归作者所有。请勿转载和采集!