用java写一个月亮代码,用java写一个月亮代码是什么

画一个月亮,使月亮整体移动,先升起在落下。用java编写

推荐一个方法,你试试,首先先用java的Graphics类画一个月亮,然后使用Graphics2D的translate(int dx, int dy)的方法,参数是新点的坐标,然后在新的位置重新画月亮

创新互联专注于企业成都全网营销、网站重做改版、利州网站定制设计、自适应品牌网站建设、H5响应式网站商城开发、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为利州等各大城市提供网站开发制作服务。

Java编写月亮程序

给你写了个简单的测试,基本能实现你所描述的

package com.bobo.thread;

import java.awt.*;

import javax.swing.*;

public class Test extends JFrame implements Runnable {

static int i = 10;

static int j = 440;

public Test() {

this.setSize(500, 500);

this.setVisible(true);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public void paint(Graphics g) {

super.paint(g);

g.setColor(Color.BLACK);

g.fillRect(0, 0, 500, 500);

g.setColor(Color.white);

g.fillOval(i, j, 60, 60);

g.setColor(Color.BLACK);

g.fillOval(i - 20, j - 20, 60, 60);

}

public void run() {

while (true) {

try {

Thread.sleep(500);

} catch (InterruptedException e) {

e.printStackTrace();

}

if (i = 155) {

i += 5;

j += 15;

}

if (i 155) {

i += 5;

j -= 15;

}

if (i = 305) {

i = 10;

j = 440;

}

System.out.println(i + " " + j);

this.repaint();

}

}

public static void main(String args[]) {

new Thread(new Test()).start();

}

}

用java写一个从数字式月-日格式(如01/31)转换为英文名称的月-日格式(如January 31),具体要求内详

import java.util.Scanner;

public class Test implements Cloneable {

public int a;

public static void main(String agrs[]) throws MonthException, DayException {

Scanner sc = new Scanner(System.in);

while (true) {

System.out.println("请输入一个日期,格式为:MM/dd (例如:12/30)");

try {

System.out.println(new Test().format(sc.next()));

} catch (Exception e) {

System.out.println(e.getMessage());

}

}

}

public String format(String date) throws MonthException, DayException {

// 先用正则表达式,以确定输入是1~2位数字+/+1~2位数字的情况,排除掉不正规的输入,同时防止,之后转int型出错的情况

if (!date.matches("\\d{1,2}/\\d{1,2}")) {

throw new FormatException("输入格式必须是12/12的格式");

}

int month = Integer.parseInt(date.substring(0, date.indexOf('/')));

int day = Integer.parseInt(date.substring(date.indexOf('/') + 1));

// 常规判断

if (month 1 || month 12) {

throw new MonthException("1年中没有" + day + "月");

}

if (day 1 || month 31) {

throw new MonthException("1月中没有" + day + "日");

}

// 当然 还有代码比较优美的算法

// 大、小月

int[] dayBoundary = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

// 月份英文 描述

String[] monthName = { "January", "Februay", "March", "April", "May",

"June", "July", "August", "September", "October", "November",

"December" };

if (day dayBoundary[month - 1]) {

throw new DayException(monthName[month - 1] + "月没有" + day + "日");

}

// 这个是日的号数不足2位补0的情况,如果不需要补,则直接返回return monthName[day - 1] + " " + day

// +"日";

return monthName[month - 1] + " " + (day 10 ? "0" + day : day) + "日";

// 当然,还有高效的写法,就是for循环,或者switch 并且如果是JDK1.7的话,已经直接支持switch中用字符串了,这里就不举例了。

}

class FormatException extends RuntimeException {

public FormatException(String msg) {

super(msg);

}

}

class MonthException extends RuntimeException {

public MonthException(String msg) {

super(msg);

}

}

class DayException extends RuntimeException {

public DayException(String msg) {

super(msg);

}

}

}

用Java编写程序

public class StringBufferDemo {

public static void main(String[] args) {

StringBuffer s=new StringBuffer("近来天气不太好,有时几天都见不到月亮。可今天却是明月当空,青天万里无云");

StringBuffer s1=new StringBuffer("明月当空,青天万里无云");

s=s.delete(s.lastIndexOf("明月当空,青天万里无云"),s.length());//将“明月当空,青天万里无云”取出,存到StringBuffer s1中。

System.out.println(s);

s1=s1.delete(3,s1.length());//删除s1从第三个字符开始的所有字符。

System.out.println(s1);

StringBuffer s2=new StringBuffer(s.substring(7,10));//取s的一个子串s2(从第7个开始取出3个字符)。

System.out.println(s2);

s2.reverse();//将子串s2反转。

System.out.println(s2);

s1.append(s2);//将s2添加到s1的后面。

System.out.println("字符串'"+s1+"'的长度是:"+s1.length());//计算新字符串的长度L,并打印出结果。

}

}

结果是:

近来天气不太好,有时几天都见不到月亮。可今天却是

明月当

,有时

时有,

字符串'明月当时有,'的长度是:6

java中,画一个月亮,最初在左下方,先慢慢沿45°上升,到顶时再慢慢沿45°下降到右下方。

public void draw(Graphics2D g) {

g.setColor(color);//设置颜色

g.setStroke(stroke);//宽度

int x, y, w, h;

if (startX endX) {//以下的startx 、endx都是由鼠标拖 动事件得到

x = endX;

w = startX - endX;

} else {

x = startX;

w = endX - startX;

}

if (startY endY) {

y = endY;

h = startY - endY;

} else {

y = startY;

h = endY - startY;

}

g.drawOval(x, y, w, h);

}


分享文章:用java写一个月亮代码,用java写一个月亮代码是什么
链接地址:http://hbruida.cn/article/hdspoh.html