生成随机数 不重复的随机抽取(完美版本)

随机数相关:
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;

public class Test {

	public static void main(String[] args) throws IOException {
		ReadFromFile("0", "1");
	}

	private static void ReadFromFile(String tag1, String tag2)
			throws FileNotFoundException, IOException {
		Properties prop = new Properties();
		List<String> array = new ArrayList<String>();
		InputStream in = new FileInputStream("D:/Ext/Demo/src/test.properties");
		prop.load(in);
		for (int i = 1; i <= prop.size(); i++) {
			String index = prop.getProperty("" + i);
			if (index.endsWith(tag1)) {
				array.add(index);
			}
		}
		if (array.isEmpty()) {
			System.out.println("本次抽取完毕");
		} else {
			int random = (int) ((Math.random() * array.size()) + 1);
			String test = array.get(random - 1);
			for (int i = 1; i <= prop.size(); i++) {
				String index = prop.getProperty("" + i);
				if (index.equals(test)) {
					writeToFile(prop, i, index, tag2);
				}
			}
			System.out.println("中奖者是: " + test.split(tag1)[0]);
		}
	}

	private static String writeToFile(Properties prop, int random, String man,
			String tag2) throws FileNotFoundException, IOException {
		String test;
		String target;
		test = man.substring(0, man.length() - 1);
		target = test + tag2;
		prop.setProperty("" + random, target);
		OutputStream out = new FileOutputStream(
				"D:/Ext/Demo/src/test.properties");
		prop.store(out, "copyright by diaoer");
		out.close();
		return test;
	}

}


你可能感兴趣的:(java,ext)