Luiserebii

Lottery

Jan 13th, 2016
211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.62 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.nio.charset.Charset;
  4. import java.nio.file.Files;
  5. import java.nio.file.Path;
  6. import java.nio.file.Paths;
  7. import java.text.ParseException;
  8. import java.text.SimpleDateFormat;
  9. import java.util.ArrayList;
  10. import java.util.Arrays;
  11. import java.util.Date;
  12. import java.util.HashSet;
  13. import java.util.LinkedHashMap;
  14. import java.util.Map;
  15. import java.util.Random;
  16.  
  17.  
  18. public class Lottery {
  19.  
  20.     LinkedHashMap<Date,int[]> winningNumbers = new LinkedHashMap<Date,int[]>();
  21.  
  22.    
  23.    
  24.     public void importWinningNumbers() {
  25.        
  26.         Charset charset = Charset.forName("UTF-8");
  27.         Path filepath = Paths.get("bin", "winners.txt");       
  28.        
  29.         try {
  30.             BufferedReader reader = Files.newBufferedReader(filepath, charset);
  31.             String currLine = null;
  32.             reader.readLine(); //Skips over 1st line
  33.            
  34.             while((currLine = reader.readLine()) != null){ //While text...
  35.                
  36.                 String[] tempStr = currLine.split(" "); //splits text by whitespace
  37.                 ArrayList<String> tempArrList = new ArrayList<String>();
  38.                
  39.                 for(int i = 0; i < tempStr.length; i++){ //Done to eliminate empty strs caused by split by whitespace              
  40.                     if(tempStr[i].compareTo("") != 0){
  41.                         tempArrList.add(tempStr[i]);                       
  42.                     }
  43.                 }
  44.                
  45.                 SimpleDateFormat f = new SimpleDateFormat("dd/MM/yyyy");    //All of this to convert 1st tempArrList to Date
  46.                 Date dateIn = null;
  47.                
  48.                 try {
  49.                     dateIn = f.parse(tempArrList.get(0));
  50.                 } catch (ParseException e){
  51.                     e.printStackTrace();
  52.                 }                                                           //ends here
  53.                
  54.                 int[] finalIn = new int[6];                                //Finally, get last 6 numbers
  55.                 //System.out.println(Arrays.toString(tempArrList.toArray()) + "    " + tempArrList.size() + "    ");
  56.                 for(int i = 1; i < 7; i++){               //hardcoding iteration through tempArrayList to prevent PP number being used
  57.                     finalIn[i-1] = Integer.valueOf(tempArrList.get(i));
  58.                 }
  59.                 //System.out.println(Arrays.toString(finalIn) + "    " + finalIn.length);
  60.                 winningNumbers.put(dateIn, finalIn);
  61.                
  62.             }
  63.            
  64.         } catch (IOException e) {
  65.             // TODO Auto-generated catch block
  66.             e.printStackTrace();
  67.         }                  
  68.     }
  69.    
  70.     public int[] genLotteryNums(){
  71.        
  72.         Random r = new Random();
  73.         int[] lotteryNums = new int[6];
  74.         /*
  75.         for(int i = 0; i < 5; i++) {           
  76.             lotteryNums[i] = r.nextInt(68) + 1;
  77.         }
  78.         lotteryNums[5] = r.nextInt(25) + 1;*/
  79.        
  80.         HashSet<Integer> s = new HashSet<Integer>();
  81.        
  82.         while(s.size() < 5){
  83.            
  84.             int randInt = r.nextInt(68) + 1;
  85.             boolean testInt = s.add(randInt);
  86.             if(testInt != false){
  87.                 lotteryNums[s.size()-1] = randInt;
  88.             }
  89.         }
  90.         lotteryNums[5] = (r.nextInt(25)+1);
  91.  
  92.        
  93.         return lotteryNums;
  94.     }
  95.    
  96.     public boolean checkOldLTNums(int[] lotteryNums){
  97.        
  98.         boolean isNew = true;
  99.         SimpleDateFormat f = new SimpleDateFormat("dd/MM/yyyy");
  100.        
  101.         //System.out.println(Arrays.equals(new int[]{1,2,3,4}, new int[]{1,2,3,4}));
  102.        
  103.         for(int i = 0; i < 30; i++){ //testing first 30 to see if ordered
  104.             //System.out.println(f.format((Date)(winningNumbers.keySet().toArray()[i])));
  105.             System.out.println(Arrays.toString((int [])(winningNumbers.values().toArray()[i])));
  106.         }      
  107. /*     
  108.         for(int i = 0; i < winningNumbers.values().toArray().length; i++){
  109.            
  110.             if(Arrays.equals((int [])(winningNumbers.values().toArray()[i]), lotteryNums) == true){
  111.                 isNew = false;
  112.                 //System.out.println(Arrays.toString((int [])(winningNumbers.values().toArray()[i])));
  113.             }
  114.         }
  115.         if(isNew == true){
  116.            
  117.             System.out.println(Arrays.toString(lotteryNums));
  118.            
  119.         }*/
  120.        
  121.         return isNew;
  122.     }
  123.    
  124. }
Advertisement
Add Comment
Please, Sign In to add comment