⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iptankrandom.java

📁 一个非常不错的J2ME坦克大战的游戏,可以在机顶盒上实际运行.
💻 JAVA
字号:
package com.ipanel.games.tank;

import java.util.Enumeration;
import java.util.Random;
import java.util.Vector;

/**
 * 因为IPanel JVM对java.util.Random.nextInt(int)并不支持,所以以此类提供IPanelTank的Random。
 */
public class IPTankRandom extends Random {

	public IPTankRandom() {
		super();
	}

	public IPTankRandom(long lSeed) {
		super(lSeed);
	}

	/**
	 * @param bits
	 *            用bits运算得到0~2^bits的范围,以提供类似nextInt(int)的支持。
	 */
	protected int next(int bits) {
		if (bits >= 32) {
			bits = 31;
		}
		/**
		 * 取名iSTBNumer,是因为STB可能不支持Random.next(int),产生大于0~2^bits的范围;
		 * 使用如下算法,可以保证不管STB是否支持Random.next(int),都能产生0~2^bits的范围
		 * 的int;当然,严格说来,这样的随机数不再完全"随机"。
		 */
		int iSTBNumer = super.next(bits);
		int iRemainNumber = 2 << (bits - 1);
		return iSTBNumer % iRemainNumber;
	}

	public static void main(String[] args) {
		IPTankRandom random = new IPTankRandom();
		for (int i = 0; i < 20; i++) {
			System.out.println(random.next(32));
		}

		/*
		 * Vector vector = new Vector(); for (int i = 0; i < 10; i++) {
		 * vector.addElement(new Integer(i)); }
		 * 
		 * Enumeration em = vector.elements(); while (em.hasMoreElements()) {
		 * Integer I = (Integer) em.nextElement();
		 * System.out.println(I.intValue()); vector.removeElement(I); }
		 */
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -