`

JAVA范例 十一)JAVA常用类

 
阅读更多

  11.1 数学Math类

  实例186 求圆周率∏值

package Chapter11.math;

public class CirclePI {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		int n = 100000;// 投的点数
		int m = 0;// 投中的个数
		double x, y;// x和y坐标点
		for (int i = 0; i < n; i++) {
			// 随机产生一个点
			x = Math.random();
			y = Math.random();
			// 计算这个点是位于圆内还是圆外
			if (x * x + y * y <= 1)// 判断掷入的这个点是不是在圆内
				m++;
		}
		// 统计得到π的值
		System.out.println("根据随机数计算π的结果如下:");
		System.out.println("\tpi =" + (double) m / n * 4);
	}
}

 

  实例187 求对数值

package Chapter11.math;

public class Logarithm {

	/**
	 * @param 求对数
	 */
	public static void main(String[] args) {
		double m = 8;// 声明一个double变量。
		double value = Math.log(m);// 返回(底数是 e)double 值的自然对数。
		double value1 = Math.log10(m);// 返回double值的底数为10的对数。
		double value2 = Math.log1p(m);// 返回参数与 1 的和的自然对数。
		System.out.println("m的自然对数为:" + value);
		System.out.println("以10为底m的对数为:" + value1);
		System.out.println("(m+1)的自然对数为:" + value2);
	}
}

 

  实例188 使用取整函数

package Chapter11.math;

import java.util.Scanner;

public class Intpart {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		double num;
		Scanner in = new Scanner(System.in);// 由键盘输入一个浮点数
		System.out.print("请输入一个浮点数:");
		num = in.nextDouble();// 获取这个浮点数
		int rint = (int) Math.rint(num);// 调用Math类的rint方法
		System.out.println(num + "四舍五入得到整数:" + rint);
		long round = Math.round(num);// 调用Math类的round方法
		System.out.println(num + "四舍五入得到长整数:" + round);
		int max = (int) Math.floor(num);// 调用Math类的floor方法
		System.out.println("小于" + num + "的最大正整数:" + max);
		int min = (int) Math.ceil(num);// 调用Math类的ceil方法
		System.out.println("大于" + num + "的最小正整数:" + min);
	}
}

 

  11.2 Random类的使用

  实例189 随机数 

package Chapter11.Random;

import java.util.Random;

public class RandomClass {

	public static void randomTypes() {// 获取各种数据类型的随机数
		System.out.println("1. 使用Random类的构造方法生成随机数的示例如下:");
		Random rdm = new Random();// 使用默认的构造方法创建一个Random对象
		int a = 0, b = 0, c = 0, d = 0, e = 0;// 定义计算变量
		while (true) {// 随机产生5个各种类型的随机数
			if (a < 5) {
				if (a == 0) {
					System.out.println("生成double型的随机数列如下:");
				}
				System.out.print(rdm.nextDouble() + " "); // 按均匀分布产生[0,
				// 1)范围的double
				a++;
			} else if (a == 5 && b < 5) {
				if (a == 5 && b == 0) {
					System.out.println("\n生成float型的随机数列如下:");
				}
				System.out.print(rdm.nextFloat() + " "); // 按均匀分布产生大于等于0,小于1的float
				b++;
			} else if (b == 5 && c < 5) {
				if (b == 5 && c == 0) {
					System.out.println("\n生成long型的随机数列如下:");
				}
				System.out.print(rdm.nextLong() + " "); // 按均匀分布产生长整数
				c++;
			} else if (c == 5 && d < 5) {
				if (c == 5 && d == 0) {
					System.out.println("\n生成int型的随机数列如下:");
				}
				System.out.print(rdm.nextInt() + " "); // 按均匀分布产生整数
				d++;
			} else if (d == 5 && e < 5) {
				if (d == 5 && e == 0) {
					System.out.println("\n生成按正态分布产生的double型随机数列如下:");
				}
				System.out.print(rdm.nextGaussian() + " "); // 按正态分布产生随机数
				e++;
			} else if (e == 5) {
				break;
			}
		}
	}

	public static void nextInt() { // 获取指定范围内的随机数
		System.out.println("\n\n2. 在指定范围内产生随机序列:");
		System.out.print("在[0,8)的范围内产生的随机整数序列如下: ");
		Random rdm = new Random();
		for (int i = 0; i < 5; i++) {
			System.out.print(rdm.nextInt(7) + "  "); // Random的nextInt(int,n)方法返回一个[0,
			// n]范围内的随机数
		}
		System.out.println();
		System.out.print("在[5,50)的范围内产生的随机整数序列如下:");
		for (int i = 0; i < 5; i++) {
			System.out.print(5 + rdm.nextInt(45) + "  ");
		}
		System.out.println();
		System.out.print("在[0,100)范围内生成float型的随机整数序列如下: ");
		for (int i = 0; i < 5; i++) {
			System.out.print((int) (rdm.nextFloat() * 100) + "  ");
		}
		System.out.println("\n");
	}

	public static void RandomSeed() { // 使用种子来创建随机数列
		// 构造函数的参数是long类型,是生成随机数的种子。
		System.out.println("3. 使用种子产生随机数");
		Random rad = new Random(12);// 创建第一个Random对象
		// 通过种子相同的两个Random对象来验证"种子相同,生成的随机数序列也是相同的"。
		System.out.println("使用种子为12的Random对象生成[10,100)内随机整数序列: ");
		for (int i = 0; i < 5; i++) {
			System.out.print(10 + rad.nextInt(90) + "  ");
		}
		System.out.println();
		Random rad1 = new Random(12);// 创建另一个Random对象
		System.out.println("使用另一个种子为12的Random对象生成[10,100)内随机整数序列: ");
		for (int i = 0; i < 5; i++) {
			System.out.print(10 + rad1.nextInt(90) + "  ");
		}
		System.out.println("\n");
	}

	public static void main(String[] args) {// 调用各方法
		randomTypes();
		nextInt();
		RandomSeed();
	}
}

 

  实例190 验证码

package Chapter11.Random;

import java.util.Random;

public class Code {

	
	static Random rd = new Random();

	public static void main(String[] args) {
		numCode();
		charCode();
		chineseCode();
		mixCode();
	}

	public static void numCode() {// 由0-9组成的全数字验证码
		System.out.print("获取的5位数字验证码:");
		for (int i = 0; i < 5; i++) {
			int n = rd.nextInt(10);
			System.out.print(n + " ");

		}
		System.out.println();
	}

	public static void charCode() {// 英文字母和标点符号组成的字符验证码
		System.out.print("\n获取的5位字符验证码:");
		for (int i = 0; i < 5; i++) {
			int n = 65 + rd.nextInt(58);
			System.out.print((char) n + " ");

		}
		System.out.println();
	}

	public static void chineseCode() {// 全部由中文组成的验证码
		System.out.print("\n获取的5位汉字验证码:");
		for (int i = 0; i < 5; i++) {
			int n = 20000 + rd.nextInt(10000);
			System.out.print((char) n + " ");
		}
		System.out.println();
	}

	public static void mixCode() {// 字符+数字的混合验证码
		System.out.print("\n获取的5位混合验证码:");
		for (int i = 0; i < 5; i++) {
			int n = rd.nextInt(123);
			if (n < 65) {
				System.out.print(n % 10 + " ");
			} else {
				System.out.print((char) n + " ");
			}
		}
	}
}

 

  11.3 Date类和Calendar类

  实例191 使用Date类获取系统的当前时间

package Chapter11.date;

import java.util.Date;

public class GetTimer {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Date date = new Date();// 创建一个Date对象
		System.out.println("距1970年1月1日00:00:00时间已经过了" + date.getTime() + "毫秒");// 调用Date类的getTime方法
		System.out.println("当前的时间:" + date.toGMTString());// 调用Date类的toGMTString方法,不过此方法已过时

	}

}

 

  实例192 使用DateFormat类获取系统的当前时间

package Chapter11.date;

import java.text.DateFormat;
import java.util.Date;

public class DateFormatClass {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		DateFormatClass.date_Format();
	}
	public static void date_Format() {
		System.out.println("使用DateFormat类获取系统的当前时间的示例如下所示:");
		Date date = new Date();
		DateFormat shortDateFormat = DateFormat.getDateTimeInstance(
				DateFormat.SHORT, DateFormat.SHORT);
		DateFormat mediumDateFormat = DateFormat.getDateTimeInstance(
				DateFormat.MEDIUM, DateFormat.MEDIUM);
		DateFormat longDateFormat = DateFormat.getDateTimeInstance(
				DateFormat.LONG, DateFormat.LONG);
		DateFormat fullDateFormat = DateFormat.getDateTimeInstance(
				DateFormat.FULL, DateFormat.FULL);
		System.out.println("SHORT 模式的日期为:" + shortDateFormat.format(date));
		System.out.println("MEDIUM 模式的日期为:" + mediumDateFormat.format(date));
		System.out.println("LONG 模式的日期为:" + longDateFormat.format(date));
		System.out.println("FULL 模式的日期为:" + fullDateFormat.format(date));
	}

}

 

  实例193 使用GregorianCalendar类获取系统的当前时间

package Chapter11.date;

import java.text.DateFormat;
import java.util.Date;
import java.util.GregorianCalendar;

public class GregorianCalendarClass {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		GregorianCalendarClass calendarClass = new GregorianCalendarClass();
		calendarClass.Date_Format();

	}
	public static void Date_Format() {
		System.out.println("使用GregorianCalendar类获取系统的当前时间的示例如下所示");
		DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.FULL);
														// 创建一个GregorianCalendar日历对象
		GregorianCalendar cal = new GregorianCalendar();
														// 将日历系统的日期和时间设置给cal
		cal.setTime(new Date());
		System.out.println("GregorianCalendar类的日期: "
				+ dateFormat.format(cal.getTime()));
														// 将DAY_OF_WEEK的值设为MONDAY
		cal.set(GregorianCalendar.DAY_OF_WEEK, GregorianCalendar.SUNDAY);
		System.out.println("在本周内,星期日的日期为: " + dateFormat.format(cal.getTime()));
		int count = 0;
		System.out.println("符合条件的日期如下:");
		while (count <= 5) {
														// DAY_OF_MONTH的值设为7
			cal.add(GregorianCalendar.DAY_OF_MONTH, 7);
														// 判断某月的某日的日期是15号且是星期日
			if (cal.get(GregorianCalendar.DAY_OF_MONTH) == 15) {
				count++;
				System.out.println(dateFormat.format(cal.getTime()));
			}
		}
	}

}

 

  实例194 使用SimpleDateFormat类获取系统的当前时间

package Chapter11.date;

import java.text.SimpleDateFormat;
import java.util.*;

public class SimpleDateClass {
	public static void main(String[] args) {
		SimpleDateClass.Simple_Format();// 调用Simple_Date方法
	}

	public static void Simple_Format() {
		System.out.println("SimpleDateFormat类获取系统当前的时间如下:");
		// 创建一个日期格式化,日期的形式为EEEE-MMMM-dd-yyyy
		SimpleDateFormat bartDateFormat = new SimpleDateFormat(
				"EEEE-MMMM-dd-yyyy");
		// 创建一个日期格式化,日期的形式为yyyy.MM.dd G 'at' HH:mm:ss z
		SimpleDateFormat b = new SimpleDateFormat(
				"yyyy.MM.dd G 'at' HH:mm:ss z");
		// 创建一个日期格式化,日期的形式为EEE, MMM d, ''yy
		SimpleDateFormat b1 = new SimpleDateFormat("EEE, MMM d, ''yy");
		// 创建一个日期格式化,日期的形式为h:mm a
		SimpleDateFormat b2 = new SimpleDateFormat("h:mm a");
		// 创建一个日期格式化,日期的形式为EEE, d MMM yyyy HH:mm:ss Z
		SimpleDateFormat b3 = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z");
		// 创建一个日期格式化,日期的形式为yyMMddHHmmssZ
		SimpleDateFormat b4 = new SimpleDateFormat("yyMMddHHmmssZ");
		Date date = new Date();
		System.out.println("第一种表式形式:" + bartDateFormat.format(date));
		System.out.println("第二种表式形式:" + b.format(date));
		System.out.println("第三种表式形式:" + b1.format(date));
		System.out.println("第四种表式形式:" + b2.format(date));
		System.out.println("第五种表式形式:" + b3.format(date));
		System.out.println("第六种表式形式:" + b4.format(date));
	}

}

 

  实例195 显示某年某月某一周的信息

package Chapter11.date;

import java.util.Calendar;

public class ShowWeek {
	public static void main(String[] args) {
		Calendar calendar = Calendar.getInstance();// 获取一个Calendar对象
		int count = 0;// 定义一个计数变量
		calendar.set(Calendar.YEAR, 2010);// 设置年份
		calendar.set(Calendar.MONTH, 2);// 设置月份
		calendar.set(Calendar.DATE, 8);// 设置日期
		System.out.println("2010年3月9号一周内的日历如下:");
		System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");
		while (count < 7) {
			calendar.add(Calendar.DAY_OF_MONTH, 1);// 设置添加日历的周期为1
			int day = calendar.getTime().getDay();// 获取日历的星期几表示数,例如:0:表示星期日
			if (count == 0) {// 根据星期几来决定输入几个tab
				for (int i = 0; i < day; i++) {
					System.out.print("\t");
				}
			}
			if (day == 0) {// 如果是周日了则换行
				System.out.println();
			}
			System.out.print(calendar.getTime().getDate() + "\t");// 获取日历中日期数
			count++;
		}
	}
}

 

  实例196 显示某年某月的信息

package Chapter11.date;

import java.util.Calendar;

public class ShowMonth {
	public static void main(String[] args) {
		Calendar calendar = Calendar.getInstance();// 获取一个Calendar对象
		int count = 0;// 定义一个计数变量
		int year = 2011;
		int month = 5;
		calendar.set(Calendar.YEAR, year);// 设置年份
		calendar.set(Calendar.MONTH, month);// 设置月份
		calendar.set(Calendar.DATE, 0);// 设置日期
		int days = chooseMonth(month + 1);
		System.out.println(year + " 年 " + (month + 1) + " 月 的 日 历 如 下:");
		System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");
		while (count < days) {
			calendar.add(Calendar.DAY_OF_MONTH, 1);// 设置添加日历的周期为1
			int day = calendar.getTime().getDay();// 获取日历的星期几表示数,例如:0:表示星期日
			if (count == 0) {// 根据星期几来决定输入几个tab
				for (int i = 0; i < day; i++) {
					System.out.print("\t");
				}
			}
			if (day == 0) {// 如果是周日了则换行
				System.out.println();
			}
			System.out.print(calendar.getTime().getDate() + "\t");// 获取日历中日期数
			count++;
		}
	}
	public static int chooseMonth(int m) {// 根据月份选择天数
		int days = 0;
		switch (m) {
		case 2:
			days = 28;
			break;
		case 1:
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
		case 12:
			days = 31;
			break;
		case 4:
		case 6:
		case 9:
		case 11:
			days = 30;
			break;
		default:
			days = 0;
		}
		return days;
	}
}

 

  实例197 时间的设置与获取

package Chapter11.date;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.*;
import javax.swing.*;
import javax.swing.border.TitledBorder;

public class WriteTime extends JFrame {
	private JPanel panel;

	private BorderLayout borderLayout1 = new BorderLayout();

	// 创建组件实例
	private JLabel jLabel1 = new JLabel();

	private JButton jButton1 = new JButton();

	private JPanel jPanel1 = new JPanel();

	private JTextField jtf1 = new JTextField();

	private JTextField jtf2 = new JTextField();

	private JTextField jtf3 = new JTextField();

	private JTextField jtf4 = new JTextField();

	private JTextField jtf5 = new JTextField();

	private JTextField jtf6 = new JTextField();

	private TitledBorder tb1;

	private TitledBorder tb2;

	private TitledBorder tb3;

	private TitledBorder tb4;

	private TitledBorder tb5;

	private TitledBorder tb6;

	private TitledBorder tb7;

	private GridLayout gridLayout = new GridLayout();

	String year, month, day, hour, minute, second;// 各时间项

	Calendar cal = Calendar.getInstance();// 创建Calendar的实例

	private void Jinit() {
		// 初始化时间项的值
		this.year = String.valueOf(cal.get(Calendar.YEAR));//
		this.month = String.valueOf(cal.get(Calendar.MONTH));
		this.day = String.valueOf(cal.get(Calendar.DATE));
		this.hour = String.valueOf(cal.get(Calendar.HOUR));
		this.minute = String.valueOf(cal.get(Calendar.MINUTE));
		this.second = String.valueOf(cal.get(Calendar.SECOND));
		// 创建TitledBorder边界实例
		panel = (JPanel) this.getContentPane();
		tb1 = new TitledBorder(BorderFactory.createEtchedBorder(Color.red,
				Color.white), "年份");
		tb2 = new TitledBorder(BorderFactory.createEtchedBorder(Color.red,
				Color.white), "月份");
		tb3 = new TitledBorder(BorderFactory.createEtchedBorder(Color.red,
				Color.white), "日期");
		tb4 = new TitledBorder(BorderFactory.createEtchedBorder(Color.red,
				Color.white), "时");
		tb5 = new TitledBorder(BorderFactory.createEtchedBorder(Color.red,
				Color.white), "分");
		tb6 = new TitledBorder(BorderFactory.createEtchedBorder(Color.red,
				Color.white), "秒");
		tb7 = new TitledBorder(BorderFactory.createEtchedBorder(Color.red,
				Color.white), "设置时间");
		jLabel1.setFont(new Font("Dialog", Font.BOLD, 14));
		jLabel1
				.setText("Now:" + this.year + "年" + this.month + "月" + this.day
						+ "日" + this.hour + "时" + this.minute + "分"
						+ this.second + "秒");// 显示时间
		panel.setLayout(borderLayout1);
		this.setSize(new Dimension(468, 140));
		this.setVisible(true);
		this.setTitle("时间的设置与获取示例");
		jButton1.setText("重新获取时间");

		jButton1.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent e) {
				jButton1_actionPerformed(e);

			}

		});

		// 设置JTextField组件的初始显示数,并添加边界
		jtf1.setBorder(this.tb1);
		jtf1.setText(this.year);
		jtf2.setBorder(this.tb2);
		jtf2.setText(this.month);
		jtf3.setBorder(this.tb3);
		jtf3.setText(this.day);
		jtf4.setBorder(this.tb4);
		jtf4.setText(this.hour);
		jtf5.setBorder(this.tb5);
		jtf5.setText(this.minute);
		jtf6.setBorder(this.tb6);
		jtf6.setText(this.second);
		jPanel1.setLayout(gridLayout);
		jPanel1.setBorder(this.tb7);
		// 添加各组件
		panel.add(jLabel1, BorderLayout.SOUTH);
		panel.add(jButton1, BorderLayout.CENTER);
		panel.add(jPanel1, BorderLayout.NORTH);
		jPanel1.add(jtf1, null);
		jPanel1.add(jtf2, null);
		jPanel1.add(jtf3, null);
		jPanel1.add(jtf4, null);
		jPanel1.add(jtf5, null);
		jPanel1.add(jtf6, null);
	}

	public void jButton1_actionPerformed(ActionEvent e) {
		// 设置时间
		cal.set(Integer.parseInt(this.jtf1.getText()), Integer
				.parseInt(this.jtf2.getText()), Integer.parseInt(this.jtf3
				.getText()), Integer.parseInt(this.jtf4.getText()), Integer
				.parseInt(this.jtf5.getText()), Integer.parseInt(this.jtf6
				.getText()));
		// 更新时间项数据
		this.year = String.valueOf(cal.get(Calendar.YEAR));
		this.month = String.valueOf(cal.get(Calendar.MONTH));
		this.day = String.valueOf(cal.get(Calendar.DATE));
		this.hour = String.valueOf(cal.get(Calendar.HOUR));
		this.minute = String.valueOf(cal.get(Calendar.MINUTE));
		this.second = String.valueOf(cal.get(Calendar.SECOND));
		// 显示当前时间
		jLabel1
				.setText("Now:" + this.year + "年" + this.month + "月" + this.day
						+ "日" + this.hour + "时" + this.minute + "分"
						+ this.second + "秒");

	}

	public static void main(String[] args) {
		new WriteTime().Jinit();
	}

}

 

  实例198 万年历(农历和阳历的互换)

package com.java;

import java.util.Calendar;

public class LunarCalendar {
	public static void main(String[] args) {
		Solar s = new Solar();
		s.getDate(2020, 9);
		String t = MutualConversion.solarToLundar(2009, 10, 12);
		String[] str = t.split("-");
		Lunar la = new Lunar(Integer.parseInt(str[0]), Integer
				.parseInt(str[1]), Integer.parseInt(str[2])); 
		System.out.println("\n\n阳历2009-10-12日对应的农历日期为:"+la.toString(1)+" "+la.toWeek());
		String t1 = MutualConversion.lundarToSolar(2019, 1, 1);
		String[] str1 = t1.split("-");
		Solar s1 = new Solar(Integer.parseInt(str1[0]), Integer
				.parseInt(str1[1]), Integer.parseInt(str1[2])); 
		System.out.println("\n农历2019-1-1日对应的阳历日期为:"+s1.toString()+" "+s1.toWeek());
	}
}
// 自定义日历类,其作用是实现阳历和农历日期相互转换的功能
class MutualConversion {
	// 阵列storeLunarMonth存储在每月一天的资料,每年从1901年到2100年的农历,农历只能是29或30天,
	// 每月表达12(或13)的二进制位在一年内,这是30 1中的相应位置的形式天,否则,29天
	private static final int[]storeLunarMonth = {
		0x4ae0,0xa570,0x5268,0xd260,0xd950,0x6aa8,
		0x56a0,0x9ad0,0x4ae8,0x4ae0,//1910
		0xa4d8,0xa4d0,0xd250,0xd548,0xb550,0x56a0,
		0x96d0,0x95b0,0x49b8,0x49b0,//1920
		0xa4b0,0xb258,0x6a50,0x6d40,0xada8,
		0x2b60,0x9570,0x4978,0x4970,0x64b0, //1930
		0xd4a0,0xea50,0x6d48,0x5ad0,0x2b60,
		0x9370,0x92e0,0xc968,0xc950,0xd4a0, //1940
		0xda50,0xb550,0x56a0,0xaad8,0x25d0,
		0x92d0,0xc958,0xa950,0xb4a8,0x6ca0, //1950
		0xb550,0x55a8,0x4da0,0xa5b0,0x52b8,
		0x52b0,0xa950,0xe950,0x6aa0,0xad50, //1960
		0xab50,0x4b60,0xa570,0xa570,
		0x5260,0xe930,0xd950,0x5aa8,0x56a0,0x96d0, //1970
		0x4ae8,0x4ad0,0xa4d0,0xd268,0xd250,
		0xd528,0xb540,0xb6a0,0x96d0,0x95b0, //1980
		0x49b0,0xa4b8,0xa4b0,0xb258,0x6a50,
		0x6d40,0xada0,0xab60,0x9370,0x4978, // 1990
		0x4970,0x64b0,0x6a50,0xea50,0x6b28,
		0x5ac0,0xab60,0x9368,0x92e0,0xc960, //2000
		0xd4a8,0xd4a0,0xda50,0x5aa8,0x56a0,
		0xaad8,0x25d0,0x92d0,0xc958,0xa950, //2010
		0xb4a0,0xb550,0xb550,0x55a8,0x4ba0
		,0xa5b0,0x52b8,0x52b0,0xa930,0x74a8, //2020
		0x6aa0,0xad50,0x4da8,0x4b60,0x9570,
		0xa4e0,0xd260,0xe930,0xd530,0x5aa0, //2030
		0x6b50,0x96d0,0x4ae8,0x4ad0,0xa4d0,
		0xd258,0xd250,0xd520,0xdaa0,0xb5a0, //2040
		0x56d0,0x4ad8,0x49b0,0xa4b8,0xa4b0,
		0xaa50,0xb528,0x6d20,0xada0,0x55b0 //2050
	};
	// 阵列storeLunarLeapMonth存储的是农历1901年至2050年闰月的信息,0表示该年没有闰月,每个字符元素表示的存储两年。
	// 例如0x50该字符存储的是2009和2010年,0x表示八进制,5表示2009年闰5月,0表示2010没有闰月
	private static final char[] storeLunarLeapMonth = { 0x00, 0x50, 0x04, 0x00,
			0x20, // 1910
			0x60, 0x05, 0x00, 0x20, 0x70, // 1920
			0x05, 0x00, 0x40, 0x02, 0x06, // 1930
			0x00, 0x50, 0x03, 0x07, 0x00, // 1940
			0x60, 0x04, 0x00, 0x20, 0x70, // 1950
			0x05, 0x00, 0x30, 0x80, 0x06, // 1960
			0x00, 0x40, 0x03, 0x07, 0x00, // 1970
			0x50, 0x04, 0x08, 0x00, 0x60, // 1980
			0x04, 0x0a, 0x00, 0x60, 0x05, // 1990
			0x00, 0x30, 0x80, 0x05, 0x00, // 2000
			0x40, 0x02, 0x07, 0x00, 0x50, // 2010
			0x04, 0x09, 0x00, 0x60, 0x04, // 2020
			0x00, 0x20, 0x60, 0x05, 0x00, // 2030
			0x30, 0xb0, 0x06, 0x00, 0x50, // 2040
			0x02, 0x07, 0x00, 0x50, 0x03 // 2050
	};
	// 用矩阵存领存储从1901~2050年每一年的阳历和农历的偏移天数
	private static final char[] offseOfDays = { 49, 38, 28, 46, 34, 24, 43, 32,
			21, 40, // 1910
			29, 48, 36, 25, 44, 34, 22, 41, 31, 50, // 1920
			38, 27, 46, 35, 23, 43, 32, 22, 40, 29, // 1930
			47, 36, 25, 44, 34, 23, 41, 30, 49, 38, // 1940
			26, 45, 35, 24, 43, 32, 21, 40, 28, 47, // 1950
			36, 26, 44, 33, 23, 42, 30, 48, 38, 27, // 1960
			45, 35, 24, 43, 32, 20, 39, 29, 47, 36, // 1970
			26, 45, 33, 22, 41, 30, 48, 37, 27, 46, // 1980
			35, 24, 43, 32, 50, 39, 28, 47, 36, 26, // 1990
			45, 34, 22, 40, 30, 49, 37, 27, 46, 35, // 2000
			23, 42, 31, 21, 39, 28, 48, 37, 25, 44, // 2010
			33, 23, 41, 31, 50, 39, 28, 47, 35, 24, // 2020
			42, 30, 21, 40, 28, 47, 36, 25, 43, 33, // 2030
			22, 41, 30, 49, 37, 26, 44, 33, 23, 42, // 2040
			31, 21, 40, 29, 47, 36, 25, 44, 32, 22, // 2050
	};
	static boolean isLeapYearOfSolar(int year) {// 判断是否有闰年
		return ((year % 4 == 0) && (year % 100 != 0) || year % 400 == 0);
	}
	// 获取阳历中每个月的天数
	static int getSolarMonthOfDays(int year, int month) {
		if ((month == 1) || (month == 3) || (month == 5) || (month == 7)
				|| (month == 8) || (month == 10) || (month == 12))
			return 31;
		else if ((month == 4) || (month == 6) || (month == 9) || (month == 11))
			return 30;
		else if (month == 2) {
			if (isLeapYearOfSolar(year))
				return 29;
			else
				return 28;
		} else
			return 0;
	}
	// 获取新年的偏移天
	static int L_getOffsetOfDays(int year, int month, int day) {
		int days = 0;
		for (int i = 1; i < month; i++) {
			days += getSolarMonthOfDays(year, i);
		}
		days += day - 1;
		return days;
	}
	static int L_getLeapMonth(int year) {
		char month = storeLunarLeapMonth[(year - 1901) / 2];
		if (year % 2 == 0)
			return (month & 0x0f);
		else
			return (month & 0xf0) >> 4;
	}
	// 获取当前年月的农历月
	static int L_getMonthDays(int year, int month) {
		int leapMonth = L_getLeapMonth(year);
		if ((month > 12) && (month - 12 != leapMonth) || (month < 0)) {
			System.out.println("输入的月份有错误");
			return -1;
		}
		if (month - 12 == leapMonth) {
			if ((storeLunarMonth[year - 1901] & (0x8000 >> leapMonth)) == 0)
				return 29;
			else
				return 30;
		}
		if ((leapMonth > 0) && (month > leapMonth))
			month++;
		if ((storeLunarMonth[year - 1901] & (0x8000 >> (month - 1))) == 0)
			return 29;
		else
			return 30;
	}
	// 获取当前年份的农历年
	static int getLunarYear(int year) {
		int iYearDays = 0;
		int leapMonth = L_getLeapMonth(year);
		for (int i = 1; i < 13; i++)
			iYearDays += L_getMonthDays(year, i);
		if (leapMonth > 0)
			iYearDays += L_getMonthDays(year, leapMonth + 12);
		return iYearDays;
	}
	static int getOffsetOfDays(int year, int month, int day) {
		int days = 0;
		int leapMonth = L_getLeapMonth(year);
		if ((leapMonth > 0) && (leapMonth == month - 12)) {
			month = leapMonth;
			days += L_getMonthDays(year, month);
		}
		for (int i = 1; i < month; i++) {
			days += L_getMonthDays(year, i);
			if (i == leapMonth)
				days += L_getMonthDays(year, leapMonth + 12);
		}
		days += day - 1;
		return days;
	}
	// 阳历转换成农历
	static String solarToLundar(int year, int month, int day) {
		int L_day, L_month, L_year;
		int days = L_getOffsetOfDays(year, month, day);
		int leapMonth = L_getLeapMonth(year);
		if (days < offseOfDays[year - 1901]) {
			L_year = year - 1;
			days = offseOfDays[year - 1901] - days;
			L_day = days;
			for (L_month = 12; days > L_getMonthDays(L_year, L_month); L_month--) {
				L_day = days;
				days -= L_getMonthDays(L_year, L_month);
			}
			if (0 == L_day)
				L_day = 1;
			else
				L_day = L_getMonthDays(L_year, L_month) - days + 1;
		} else {
			L_year = year;
			days -= offseOfDays[year - 1901];
			L_day = days + 1;
			for (L_month = 1; days >= 0; L_month++) {
				L_day = days + 1;
				days -= L_getMonthDays(L_year, L_month);
				if ((leapMonth == L_month) && (days > 0)) {
					L_day = days;
					days -= L_getMonthDays(L_year, L_month + 12);
					if (days <= 0) {
						L_month += 12 + 1;
						break;
					}
				}
			}
			L_month--;
		}
		return "" + L_year + "-" + L_month + "-" + L_day;
	}
	// 农历转换成阳历
	static String lundarToSolar(int year, int month, int day) {
		int S_year, S_month, S_day;
		int days = getOffsetOfDays(year, month, day) + offseOfDays[year - 1901];
		int iYearDays = isLeapYearOfSolar(year) ? 366 : 365;
		if (days >= iYearDays) {
			S_year = year + 1;
			days -= iYearDays;
		} else {
			S_year = year;
		}
		S_day = days + 1;
		for (S_month = 1; days >= 0; S_month++) {
			S_day = days + 1;
			days -= getSolarMonthOfDays(S_year, S_month);
		}
		S_month--;
		return "" + S_year + "-" + S_month + "-" + S_day;
	}
}
// 自定义星期类
class CustomWeek {
	int week;
	private String weeks[] = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };// 定义一个String数组,存储一周七天的星期
	public CustomWeek() {// 默认星期为星期日
		week = 0;
	}
	// 0:星期日 1:星期一 2:星期二 3:星期三 4:星期四 5:星期五 6:星期六
	public CustomWeek(int w) {
		if ((w > 6) || (w < 0)) {
			System.out
					.println("CustomWeek out of range, I think you want Sunday");
			this.week = 0;
		} else
			this.week = w;
	}
	public String toString() {
		return weeks[week];
	}
}
// 自定义日期类
class CustomDate {
	public int year;
	public int month;
	public int day;
	private static int checkYear(int year) {// 检察输入的年份是否在指定的年份范围中
		if ((year > 1901) && (year < 2050))
			return year;
		else {
			System.out.println("输入的年份不在1901~2050之间,默认年份为1991年");
			return 1991;
		}
	}
	// 构造方法
	public CustomDate(int year, int month, int day) {
		this.year = checkYear(year);
		this.month = month;
		this.day = day;
	}
	public CustomDate(int year, int month) {
		this.year = checkYear(year);
		this.month = month;
		this.day = 1;
	}
	public CustomDate(int year) {
		this.year = checkYear(year);
		this.month = 1;
		this.day = 1;
	}
	public CustomDate() {// 默认初始化的日期为1991-01-01
		this.year = 1991;
		this.month = 1;
		this.day = 1;
	}
	public String toString() {
		return "" + this.year
				+ (this.month > 9 ? "" + this.month : "0" + this.month)// 月以MM的形式表示
				+ (this.day > 9 ? "" + this.day : "0" + this.day);// 日以dd的形式表示
	}
	public boolean equals(CustomDate md) {
		return ((md.day == this.day) && (md.month == this.month) && (md.year == this.year));
	}
}
// 阳历日期类,继承自定义日期
class Solar extends CustomDate {
	private static int checkMonth(int month) {// 检查月份是否越有效范围
		if (month > 12) {
			System.out.println("输入的月份越界, 默认月份为12月 ");
			return 12;
		} else if (month < 1) {
			System.out.println("输入的月份越界, 默认月份为1月");
			return 1;
		} else
			return month;
	}
	private static int checkDay(int year, int month, int day) {// 检查日期是否越有效范围
		int iMonthDays = MutualConversion.getSolarMonthOfDays(year, month);
		if (day > iMonthDays) {
			System.out.println("输入的日期越界, 默认日期为 " + iMonthDays + " ");
			return iMonthDays;
		} else if (day < 1) {
			System.out.println("输入的日期越界, 默认日期为1号");
			return 1;
		} else
			return day;
	}
	// SolarDate类的构造方法
	public Solar(int year, int month, int day) {
		super(year);
		this.month = checkMonth(month);
		this.day = checkDay(this.year, this.month, day);
	}
	public Solar(int year, int month) {
		super(year);
		this.month = checkMonth(month);
	}
	public Solar(int year) {
		super(year);
	}
	public Solar() {
		super();
	}
	// 以字符串的形式输出
	public String toString() {
		return "" + this.year
				+ (this.month > 9 ? "-" + this.month : "-0" + this.month)
				+ (this.day > 9 ? "-" + this.day : "-0" + this.day);
	}
	// 获取输入的年月日是星期几
	public CustomWeek toWeek() {
		int days = 0;
		for (int i = 1901; i < year; i++) {
			if (MutualConversion.isLeapYearOfSolar(i))
				days += 366;
			else
				days += 365;
		}
		days += MutualConversion.L_getOffsetOfDays(year, month, day);
		return new CustomWeek((days + 2) % 7);
	}
	public Lunar dateToLunar() {// 将输入日期转换成农历日期
		int year, month, day, iDate;
		Lunar ld;
		iDate = Integer.parseInt(MutualConversion.solarToLundar(this.year,
				this.month, this.day));
		year = iDate / 10000;
		month = iDate % 10000 / 100;
		day = iDate % 100;
		ld = new Lunar(year, month, day);
		return ld;
	}
	public void getDate(int year, int month) {
		Calendar calendar = Calendar.getInstance();// 获取一个Calendar对象
		int count = 0;// 定义一个计数变量
		calendar.set(Calendar.YEAR, year);// 设置年份
		calendar.set(Calendar.MONTH, month - 1);// 设置月份
		calendar.set(Calendar.DATE, 0);// 设置日期
		int days = MutualConversion.getSolarMonthOfDays(year, month);
		;
		System.out.println(year + " 年 " + month + " 月 份 的 万 年 历 如 下:");
		System.out.println("星期日\t\t星期一\t\t星期二\t\t星期三\t\t星期四\t\t星期五\t\t星期六");
		while (count < days) {
			calendar.add(Calendar.DAY_OF_MONTH, 1);// 设置添加日历的周期为1
			int day = calendar.getTime().getDay();// 获取日历的星期几表示数,例如:0:表示星期日
			if (count == 0) {// 根据星期几来决定输入几个tab
				for (int i = 0; i < day; i++) {
					System.out.print("\t\t");
				}
			}
			if (day == 0) {// 如果是周日了则换行
				System.out.println();
			}
			String time = MutualConversion.solarToLundar(year, month, calendar
					.getTime().getDate());
			String[] str = time.split("-");
			Lunar la = new Lunar(Integer.parseInt(str[0]), Integer
					.parseInt(str[1]), Integer.parseInt(str[2]));
			String name = la.toString(0);
			System.out.print(calendar.getTime().getDate() + " ");// 获取日历中日期数
			System.out.print(name + "\t");// 获取日历中日期数
			count++;
		}
	}
}
// 农历日期类,继承自定义日期类
class Lunar extends CustomDate {
	private String upperFigure[] = { "零", "一", "二", "三", "四", "五", "六", "七",
			"八", "九", "十" };
	private static int checkDay(int year, int month, int day) {// 检查日期是否越有效范围
		int iMonthDays = MutualConversion.getSolarMonthOfDays(year, month);
		if (day > iMonthDays) {
			System.out.println("输入的日期越界, 默认日期为 " + iMonthDays + " ");
			return iMonthDays;
		} else if (day < 1) {
			System.out.println("输入的日期越界, 默认日期为1号");
			return 1;
		} else
			return day;
	}
	private static int checkMonth(int year, int month) {// 检查月份是否越有效范围
		if ((month > 12)
				&& (month == MutualConversion.L_getLeapMonth(year) + 12)) {
			return month;
		} else if (month > 12) {
			System.out.println("输入的月份越界, 默认月份为12月 ");
			return 12;
		} else if (month < 1) {
			System.out.println("输入的月份越界, 默认月份为1月");
			return 1;
		} else
			return month;
	}
	// LunarDate类的构造方法
	public Lunar(int year, int month, int day) {
		super(year);
		this.month = checkMonth(this.year, month);
		this.day = checkDay(this.year, this.month, day);
	}
	public Lunar(int year, int month) {
		super(year);
		this.month = checkMonth(this.year, month);
	}
	public Lunar(int year) {
		super(year);
	}
	public Lunar() {
		super();
	}
	// 以字符串的形式输出
	public String toString(int n) {
		String sCalendar = "";
		if (n == 1) {
			sCalendar += "农历" + upperFigure[year / 1000]
					+ upperFigure[year % 1000 / 100]
					+ upperFigure[year % 100 / 10] + upperFigure[year % 10]
					+ "(" + toChineseEra() + ")年";
		}
		if (month > 12) {
			month -= 12;
			sCalendar += "闰";
		}
		if (month == 12)
			sCalendar += "腊月";
		else if (month == 11)
			sCalendar += "冬月";
		else if (month == 1)
			sCalendar += "正月";
		else
			sCalendar += upperFigure[month] + "月";
		if (day > 29)
			sCalendar += "三十";
		else if (day > 20)
			sCalendar += "二十" + upperFigure[day % 20];
		else if (day == 20)
			sCalendar += "二十";
		else if (day > 10)
			sCalendar += "十" + upperFigure[day % 10];
		else
			sCalendar += "初" + upperFigure[day];
		return sCalendar;
	}
	public CnWeek toWeek() {// 获取输入日期的星期几
		int days = 0;
		for (int i = 1901; i < year; i++)
			days += MutualConversion.getLunarYear(i);
		days += MutualConversion.getOffsetOfDays(year, month, day);
		return new CnWeek((days + 2) % 7);
	}
	public ChineseEra toChineseEra() {
		return new ChineseEra(year);
	}
	public Solar toSolarDate() {// 转换成阳历
		int year, month, day, iDate;
		Solar sd;
		iDate = Integer.parseInt(MutualConversion.lundarToSolar(this.year,
				this.month, this.day));
		year = iDate / 10000;
		month = iDate % 10000 / 100;
		day = iDate % 100;
		sd = new Solar(year, month, day);
		return sd;
	}
}
class CnWeek extends CustomWeek {// Week的子类
	private String sCnWeek[] = { "日", "一", "二", "三", "四", "五", "六" };
	// 调用父类的构造方法
	public CnWeek() {
		super();
	}
	public CnWeek(int week) {
		super(week);
	}
	public String toString() {
		return "星期" + sCnWeek[this.week];
	}
}
// 用天干地支形式表示农历年
class ChineseEra {
	int year;
	String[] westernNotation = { "甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬",
			"癸" };
	String[] chineseEraNotation = { "子", "丑", "寅", "卯", "辰", "巳", "午", "未",
			"申", "酉", "戌", "亥" };
	public ChineseEra() {
		int year = 1991;
	}
	public ChineseEra(int year) {
		if ((year < 2050) && (year > 1901))
			this.year = year;
		else
			this.year = 1991;
	}
	public String toString() {
		int temp;
		temp = Math.abs(year - 1924);
		return westernNotation[temp % 10] + chineseEraNotation[temp % 12];
	}
}

 

  11.4 Formatter类的使用

  实例199 时间格式转换符的使用

package Chapter11.format;

import java.util.Formatter;

public class FormatterUsage {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Object[] ob = new Object[2];// 创建Object数组
		// 给数组赋值
		ob[0] = Integer.valueOf(51);
		ob[1] = Integer.valueOf(1293);
		Formatter fmt = null;
		System.out.println("第一种输出方式:");
		fmt = new Formatter(); // 以默认的存储区为目标,创建对象
		Object[] ob1 = new Object[2];
		ob1[0] = Double.valueOf(1112.12675456);
		ob1[1] = Double.valueOf(0.1258989);
		fmt.format("输出到自带存储区,每个输出项占8个字符位:%4.3f %5.2f\n", ob1); // 格式化输出数据,输出到自己的存储区
		System.out.print(fmt); // 再从对象的存储区中输出到屏幕
		System.out.println("\n第二种输出方式:");
		fmt = new Formatter(System.out); // 以标准输出设备为目标,创建对象
		fmt.format("直接输出,每个输出项占5个字符位:%5d%5d\n\n", ob); // 格式化输出数据,并输出到标准输出设备
		System.out.println("第三种输出方式:");
		StringBuffer buf = new StringBuffer();
		fmt = new Formatter(buf); // 以指定的字符串为目标,创建对象
		fmt.format("输出到指定的缓冲区,每个输出项占8个字符位:%8d%8d\n\n", ob); // 格式化输出数据,输出到buf中
		System.out.print(buf); // 再从buf中输出到屏幕

	}

}

 

  实例200 数据格式转换符的使用

package Chapter11.format;

import java.util.Formatter;

public class FormatterUsage {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Object[] ob = new Object[2];// 创建Object数组
		// 给数组赋值
		ob[0] = Integer.valueOf(51);
		ob[1] = Integer.valueOf(1293);
		Formatter fmt = null;
		System.out.println("第一种输出方式:");
		fmt = new Formatter(); // 以默认的存储区为目标,创建对象
		Object[] ob1 = new Object[2];
		ob1[0] = Double.valueOf(1112.12675456);
		ob1[1] = Double.valueOf(0.1258989);
		fmt.format("输出到自带存储区,每个输出项占8个字符位:%4.3f %5.2f\n", ob1); // 格式化输出数据,输出到自己的存储区
		System.out.print(fmt); // 再从对象的存储区中输出到屏幕
		System.out.println("\n第二种输出方式:");
		fmt = new Formatter(System.out); // 以标准输出设备为目标,创建对象
		fmt.format("直接输出,每个输出项占5个字符位:%5d%5d\n\n", ob); // 格式化输出数据,并输出到标准输出设备
		System.out.println("第三种输出方式:");
		StringBuffer buf = new StringBuffer();
		fmt = new Formatter(buf); // 以指定的字符串为目标,创建对象
		fmt.format("输出到指定的缓冲区,每个输出项占8个字符位:%8d%8d\n\n", ob); // 格式化输出数据,输出到buf中
		System.out.print(buf); // 再从buf中输出到屏幕

	}

}

 

  11.5 System类的使用

  实例201 记录程序执行的时间

package Chapter11.system;

public class RecordTimes {

	/**
	 * @param args
	 */
	public static void main(String args[]) {
		try {
			long start = System.currentTimeMillis();// 记录程序开始执行时的时间
			System.out.println("开始执行的时间为:" + start);
			Thread.sleep(3000);
			long end = System.currentTimeMillis();// 记录程序结束执行时的时间
			System.out.println("结束执行的时间为: " + end);
			System.out.println("共执行了:" + (end - start) + "毫秒");// 结束时间-开始时间=执行了的时间
		} catch (InterruptedException el) {
			el.printStackTrace();
		}
	}

}

 

  实例202 程序的退出

package Chapter11.system;

public class Exit extends Thread {

	/**
	 * @param args
	 */
	public static void main(String args[]) {
		Exit exit = new Exit();
		Thread th = Thread.currentThread();// 获取主线程
		exit.start();
		System.out.println("主线程开始运行。。。");
		try {
			System.out.println("休眠开始~~");
			th.sleep(1000);// 令线程暂停运行
		} catch (InterruptedException el) {
			el.printStackTrace();
		}
		System.out.println("主线程运行结束");
	}

	public void run() { // 线程类的抽象方法
		System.out.println("线程正在运行中,调用System.exit(0)方法,强制JVM退出!!");
		System.exit(0);// 强制JVM退出
	}
}

 

  实例203 获取程序运行环境的信息

package Chapter11.system;

public class INFO {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// 通过调用System类的getProperty方法来获取相应的属性值
		System.out.println("用户的账户名称:" + System.getProperty("user.name"));
		System.out.println("当前用户工作目录:" + System.getProperty("user.dir"));
		System.out.println("用户的home路径:" + System.getProperty("user.home"));
		System.out.println("类所在的路径:" + System.getProperty("java.class.path"));
		System.out.println("操作系统的名称:" + System.getProperty("os.name"));
		System.out.println("操作系统的版本:" + System.getProperty("os.version"));
		System.out.println("操作系统的架构:" + System.getProperty("os.arch"));
		System.out.println("虚拟机实现的版本:" + System.getProperty("java.vm.version"));
		System.out.println("虚拟机实现的生产商:" + System.getProperty("java.vm.vendor"));
		System.out.println("默认的临时文件路径:" + System.getProperty("java.io.tmpdir"));
		System.out.println("运行环境规范的名称:"
				+ System.getProperty("java.specification.name"));
		System.out.println("Java类格式化的版本号:"
				+ System.getProperty("java.class.version"));
		System.out.println("Java运行环境的版本:" + System.getProperty("java.version"));
		System.out.println("Java运行环境的生产商:" + System.getProperty("java.vendor"));
		System.out.println("Java的安装路径:" + System.getProperty("java.home"));
	}

}

 

分享到:
评论

相关推荐

    Java范例开发大全

    《Java范例开发大全》共22章,内容涉及Java开发环境的搭建、Java基础类型与运算符、条件控制语句、异常处理、数组、字符串、输入输出流、面向对象及其四大特征、内部类与接口、Java常用类、集合、多线程编程、Java...

    java范例开发大全(pdf&源码)

    第11章 Java常用类(教学视频:66分钟) 315 11.1 数学Math类 315 实例186 求圆周率∏值 315 实例187 求对数值 316 实例188 使用取整函数 317 11.2 Random类的使用 318 实例189 随机数 319 实例190 验证码 322 11.3 ...

    JAVA 范例大全 光盘 资源

    第7章 Java常用类 98 实例43 数字的舍入 98 实例44 转换数字的进制 101 实例45 随机数 103 实例46 Java Applet绘制心形曲线 106 实例47 简单的计算器 107 实例48 日历和日期 118 实例49 Java编制的时钟 121 ...

    java范例开发大全源代码

     第11章 Java常用类(教学视频:66分钟) 315  11.1 数学Math类 315  实例186 求圆周率∏值 315  实例187 求对数值 316  实例188 使用取整函数 317  11.2 Random类的使用 318  实例189 随机数 ...

    java范例开发大全

    第11章 Java常用类(教学视频:66分钟) 315 11.1 数学Math类 315 实例186 求圆周率∏值 315 实例187 求对数值 316 实例188 使用取整函数 317 11.2 Random类的使用 318 实例189 随机数 319 实例190 验证码 322 11.3 ...

    Java范例开发大全 (源程序)

     第11章 Java常用类(教学视频:66分钟) 315  11.1 数学Math类 315  实例186 求圆周率∏值 315  实例187 求对数值 316  实例188 使用取整函数 317  11.2 Random类的使用 318  实例189 随机数 319  ...

    Java范例开发大全(全书源程序)

    第11章 Java常用类(教学视频:66分钟) 315 11.1 数学Math类 315 实例186 求圆周率∏值 315 实例187 求对数值 316 实例188 使用取整函数 317 11.2 Random类的使用 318 实例189 随机数 319 实例190 验证码 ...

    java源码包---java 源码 大量 实例

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道VB...

    Java开发技术大全(500个源代码).

    代码范例列表 第1章 示例描述:本章演示如何开始使用JDK进行程序的开发。 HelloWorldApp.java 第一个用Java开发的应用程序。 firstApplet.java 第一个用Java开发的Applet小程序。 firstApplet.htm 用来装载...

    Java开发详解.zip

    031106_【第11章:Java常用类库】_日期操作类(DateFormat、SimpleDateFormat)笔记.pdf 031107_〖第11章:Java常用类库〗_实例操作:取得当前日期笔记.pdf 031108_【第11章:Java常用类库】_Math与Random类笔记.pdf...

    Java正则表达式入门范例

    Java正则表达式入门范例 常用技巧与需要注意的地方

    JAVA上百实例源码以及开源项目源代码

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道VB...

    java源码包4

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道...

    JAVA上百实例源码以及开源项目

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道VB...

    java源码包3

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道...

    java源码包2

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道...

    常用文档范例

    各种文档的范例,有概要设计文档、需求分析文档、数据库设计文档、用户说明书文档等等

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Y坐标、得到X坐标,Y坐标值、绘制火焰效果Image…… Java加密解密工具集 JCT v1.0源码包 5个目标文件 内容索引:JAVA源码,综合应用,JCT,加密解密 WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。...

    Java JDK 7学习笔记(国内第一本Java 7,前期版本累计销量5万册)

     《Java JDK 7学习笔记》针对Java SE 7新功能全面改版,无论是章节架构或范例程序代码,都做了全面重新编写与翻新。  《Java JDK 7学习笔记》是作者多年来教学实践的经验总结,汇集了学员在教学过程中遇到的概念、...

    Java语言编码规范

    Java语言编码规范 1 介绍(INTRODUCTION) 3 1.1 为什么要有编码规范(WHY HAVE CODE CONVENTIONS) 3 1.2 版权声明(ACKNOWLEDGMENTS) 3 2 文件名(FILE NAMES) 4 ...11.1 JAVA源文件范例(JAVA SOURCE FILE EXAMPLE) 23

Global site tag (gtag.js) - Google Analytics