重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
代码如下
创新互联网络公司拥有10多年的成都网站开发建设经验,上1000家客户的共同信赖。提供成都网站设计、网站建设、网站开发、网站定制、卖链接、建网站、网站搭建、响应式网站开发、网页设计师打造企业风格,提供周到的售前咨询和贴心的售后服务
/**
* Author: zhyx
* Date:2017/11/30
* Time:8:56
*/
public abstract class Contailner {
double r;
abstract double volume();
}
/**
* Author: zhyx
* Date:2017/11/30
* Time:8:57
*/
public class Cube extends Contailner {
public Cube(double r) {
this.r=r;
}
@Override
double volume() {
return r*r*r;
}
}
/**
* Author: zhyx
* Date:2017/11/30
* Time:9:01
*/
public class Sphere extends Contailner {
public Sphere(double r) {
this.r=r;
}
@Override
double volume() {
return 4/3*Math.PI*r*r*r;
}
}
/**
* Author: zhyx
* Date:2017/11/30
* Time:9:02
*/
public class Tiji {
public static void main(String[] args) {
Cube cube=new Cube(4);
System.out.println("立方体体积为:"+cube.volume());
Sphere sphere= new Sphere(4);
System.out.println("球体体积为:"+sphere.volume());
}
}
不知道你想要干什么……什么连续下雨?
用到UI吗?
把每个雨滴当做对象,抽象出来一个雨滴的类,里面包含雨落下的方向,速度,和失效的条件(落到地上了)。
再建立一个包含所有雨滴的容器,UI展示是通过容器里面获得的雨点对象来展示。
这样,容器里面每多出一个雨点对象,页面上就多出一个雨点。用完的对象从容器里面拿出来就好
这个比较简单,没啥东西,就是每列开始行的选择,有点绕弯,我就注释下GraphicsPanel吧,主要的绘制工作都在这个类里面
private class GraphicsPanel extends JPanel {
public void paint(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
g2d. setFont (getFont (). deriveFont (Font. BOLD));
g2d. setColor(Color. BLACK);
g2d. fillRect (0, 0, screenSize. width, screenSize. height); // 设置背景色为黑色
int currentColumn = 0;
for (int x = 0; x screenSize.width; x += gap) {
int endPos = posArr[currentColumn]; //获得开始行位置
g2d. setColor(Color. GREEN);
g2d.drawString(String.valueOf(getChr()), x, endPos * gap); //画出随机开始行的字符
int cg = 0; //初始黑色
for (int j = endPos -16; j endPos; j++) { //随机行逐列向上16行,为循环开始行
cg += 15; //渐变色15递增,255为green
if (cg 255) {
cg = 255;
}
g2d.setColor(new Color(0, cg, 0));
g2d.drawString(String.valueOf(getChr()), x, j * gap); //画出随机行后的15行字符,颜色从黑色渐变成绿色,逐行增加
}
posArr[currentColumn] += random.nextInt(5); //下落距离最快为4
if (posArr[currentColumn] * gap getHeight()) { //如果行数位置大于屏幕高度,从新获取合适的行
posArr[currentColumn] = random.nextInt(lines);
}
currentColumn++; //下一列获取随机行
}