Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.nio.charset.Charset;
- import java.nio.file.Files;
- import java.nio.file.Path;
- import java.nio.file.Paths;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.Date;
- import java.util.HashSet;
- import java.util.LinkedHashMap;
- import java.util.Map;
- import java.util.Random;
- public class Lottery {
- LinkedHashMap<Date,int[]> winningNumbers = new LinkedHashMap<Date,int[]>();
- public void importWinningNumbers() {
- Charset charset = Charset.forName("UTF-8");
- Path filepath = Paths.get("bin", "winners.txt");
- try {
- BufferedReader reader = Files.newBufferedReader(filepath, charset);
- String currLine = null;
- reader.readLine(); //Skips over 1st line
- while((currLine = reader.readLine()) != null){ //While text...
- String[] tempStr = currLine.split(" "); //splits text by whitespace
- ArrayList<String> tempArrList = new ArrayList<String>();
- for(int i = 0; i < tempStr.length; i++){ //Done to eliminate empty strs caused by split by whitespace
- if(tempStr[i].compareTo("") != 0){
- tempArrList.add(tempStr[i]);
- }
- }
- SimpleDateFormat f = new SimpleDateFormat("dd/MM/yyyy"); //All of this to convert 1st tempArrList to Date
- Date dateIn = null;
- try {
- dateIn = f.parse(tempArrList.get(0));
- } catch (ParseException e){
- e.printStackTrace();
- } //ends here
- int[] finalIn = new int[6]; //Finally, get last 6 numbers
- //System.out.println(Arrays.toString(tempArrList.toArray()) + " " + tempArrList.size() + " ");
- for(int i = 1; i < 7; i++){ //hardcoding iteration through tempArrayList to prevent PP number being used
- finalIn[i-1] = Integer.valueOf(tempArrList.get(i));
- }
- //System.out.println(Arrays.toString(finalIn) + " " + finalIn.length);
- winningNumbers.put(dateIn, finalIn);
- }
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- public int[] genLotteryNums(){
- Random r = new Random();
- int[] lotteryNums = new int[6];
- /*
- for(int i = 0; i < 5; i++) {
- lotteryNums[i] = r.nextInt(68) + 1;
- }
- lotteryNums[5] = r.nextInt(25) + 1;*/
- HashSet<Integer> s = new HashSet<Integer>();
- while(s.size() < 5){
- int randInt = r.nextInt(68) + 1;
- boolean testInt = s.add(randInt);
- if(testInt != false){
- lotteryNums[s.size()-1] = randInt;
- }
- }
- lotteryNums[5] = (r.nextInt(25)+1);
- return lotteryNums;
- }
- public boolean checkOldLTNums(int[] lotteryNums){
- boolean isNew = true;
- SimpleDateFormat f = new SimpleDateFormat("dd/MM/yyyy");
- //System.out.println(Arrays.equals(new int[]{1,2,3,4}, new int[]{1,2,3,4}));
- for(int i = 0; i < 30; i++){ //testing first 30 to see if ordered
- //System.out.println(f.format((Date)(winningNumbers.keySet().toArray()[i])));
- System.out.println(Arrays.toString((int [])(winningNumbers.values().toArray()[i])));
- }
- /*
- for(int i = 0; i < winningNumbers.values().toArray().length; i++){
- if(Arrays.equals((int [])(winningNumbers.values().toArray()[i]), lotteryNums) == true){
- isNew = false;
- //System.out.println(Arrays.toString((int [])(winningNumbers.values().toArray()[i])));
- }
- }
- if(isNew == true){
- System.out.println(Arrays.toString(lotteryNums));
- }*/
- return isNew;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment