Użytkownik: anonymous
Tytuł: ;P
Język: Java
Data: 16 mar 2010, 03:39
Link: http://3paste.com/s/1564/java/p
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4. import java.io.StreamTokenizer;
  5.  
  6. import lists.*;
  7. import iterators.*;
  8.  
  9. public class Main {
  10.  
  11. static int szukdata = 0;
  12. static int szuknum = 0;
  13. static int [] szukliczby;
  14. static ArrayList Lista_Lotto = new ArrayList();
  15. static int data_poczatkowa = 0;
  16. static int data_koncowa = 0;
  17.  
  18.  
  19. private static class DataCyferki implements Predicate{
  20. public boolean accept(Object z){
  21. return ((Lotto)z).data == szukdata;
  22. }
  23. }
  24. private static class CyferkiData implements Predicate{
  25. public boolean accept(Object x){
  26. boolean wynik = true;
  27. for (int i=0; i<6; i++){
  28. if (wynik==false) break;
  29. wynik = (((Lotto)x).liczby[i]) == szukliczby[i];
  30. }
  31. return wynik;
  32. }
  33. }
  34. private static class SzukanyNumerek implements Predicate{
  35. public boolean accept(Object x){
  36. boolean wynik = false;
  37. for (int i=0; i<6; i++){
  38. wynik = ((((Lotto)x).liczby[i]) == szuknum);
  39. if (wynik==true) break;
  40. }
  41. return wynik;
  42. }
  43.  
  44. }
  45.  
  46. public static void main(String[] args){
  47.  
  48.  
  49. int data =0;
  50. int ostatniaData =0;
  51. boolean kolejneLosowanie = true;
  52. String tak = "";
  53. int wybor = 0;
  54.  
  55. while (kolejneLosowanie){
  56. System.out.println("Podaj date losowanie w formacie RRRRMMDD: ");
  57.  
  58. try{
  59. st.nextToken();
  60. data = (int)st.nval;
  61. }
  62. catch(IOException e){
  63. System.out.println("ERROR");
  64. }
  65.  
  66. if (data>ostatniaData){
  67. ostatniaData = data;
  68. Lista_Lotto.add(new Lotto(data));
  69. }
  70. else{
  71. System.out.println("Data tego losowania jest starsza niż data poprzedniego!");
  72. System.out.println();
  73. }
  74.  
  75. System.out.println("Czy chcesz dodać nowe losowanie (wpisz TAK lub NIE):");
  76. try{
  77. st.nextToken();
  78. tak = st.sval;
  79. }
  80. catch(IOException e){
  81.  
  82. }
  83. if(!tak.equals("TAK"))
  84. kolejneLosowanie = false;
  85. }
  86.  
  87.  
  88. Iterator it= Lista_Lotto.iterator();
  89. it.first();
  90. while(!it.isDone())
  91. { Lotto wyj=(Lotto)it.current();
  92. System.out.println("Losowanie: ");
  93. System.out.print(wyj.toString());
  94. int index = it.index();
  95. System.out.println(", Index: " + index);
  96. it.next();
  97. }
  98. for (int p=0;p<10000;p++){
  99. System.out.println("Jeśli chcesz szukać na podstawie daty, wcisznij 1. Jeśli na podstawie cyfer, wciśnij 2. Jesli chcesz szukac cyfry w okreslonym przedziale czasowym, wcisnij 3.");
  100.  
  101. try{
  102. st.nextToken();
  103. wybor = (int)st.nval;
  104. }
  105. catch(IOException e){
  106. System.out.println("ERROR");}
  107. if ( wybor==1 ) { Dataszukacz();}
  108. else if (wybor == 2) { NumerekSzukacz();}
  109. else if (wybor == 3) { SzukaczNumerkow();}
  110. }
  111. }
  112.  
  113. public static void Dataszukacz(){
  114. System.out.println("Podaj date szukanego losowania: ");
  115. try{
  116. st.nextToken();
  117. szukdata = (int)st.nval;
  118. }
  119. catch(IOException e){
  120. System.out.println("ERROR");}
  121.  
  122. Iterator fit = new FilterIterator(Lista_Lotto.iterator(),new DataCyferki());
  123. fit.first();
  124. while(!fit.isDone()){
  125. Lotto zaw=(Lotto)fit.current();
  126. System.out.println(zaw);
  127. int index = fit.index();
  128. System.out.println("Index podanego losowania wynosi: " + index);
  129. fit.next();
  130.  
  131. }
  132.  
  133. System.out.println("Koniec");
  134. }
  135.  
  136. public static void NumerekSzukacz(){
  137. System.out.println("Podaj numerki wyszukiwanej daty: ");
  138. szukliczby = new int[6];
  139. for (int i=0;i<6;i++){
  140. try{
  141. st.nextToken();
  142. szukliczby[i] = (int)st.nval;
  143. }
  144. catch(IOException e){
  145. System.out.println("ERROR");
  146. }
  147. }
  148. Iterator fit = new FilterIterator(Lista_Lotto.iterator(),new CyferkiData());
  149. fit.first();
  150. while(!fit.isDone()){
  151. Lotto zaw=(Lotto)fit.current();
  152. System.out.println(zaw);
  153. int index = fit.index();
  154. System.out.println("Index podanego losowania wynosi: " + index);
  155. fit.next();
  156. }
  157. System.out.println("Koniec");
  158. }
  159. public static void SzukaczNumerkow(){
  160. System.out.println("Podaj odpowiednio date poczatkowa i date koncowa");
  161.  
  162. System.out.print("Data poczatkowa: ");
  163. try{
  164. st.nextToken();
  165. data_poczatkowa = (int)st.nval;
  166. }
  167. catch(IOException e){
  168. System.out.println("ERROR");
  169. }
  170. System.out.print("Data koncowa: ");
  171. try{
  172. st.nextToken();
  173. data_koncowa = (int)st.nval;
  174. }
  175. catch(IOException e){
  176. System.out.println("ERROR");
  177. }
  178. System.out.println("Teraz podaj szukany numerek X: ");
  179. try{
  180. st.nextToken();
  181. szuknum = (int)st.nval;
  182. }
  183. catch(IOException e){
  184. System.out.println("ERROR");
  185. }
  186. int k = 0;
  187. Iterator fit= new FilterIterator(Lista_Lotto.iterator(),new SzukanyNumerek());
  188. fit.first();
  189.  
  190. while (((Lotto)fit.current()).data >= data_poczatkowa){
  191. fit.next();
  192. }
  193.  
  194. while (((Lotto)fit.current()).data <= data_koncowa){
  195.  
  196. Lotto zaw=(Lotto)fit.current();
  197. System.out.println(zaw);
  198. int index = fit.index();
  199. System.out.println("Index podanego losowania wynosi: " + index);
  200.  
  201. k++;
  202.  
  203. fit.next();
  204.  
  205. }
  206. System.out.println("Liczba wystepuje " + k + " razy.");
  207. System.out.println("Koniec");
  208. }
  209.  
  210.  
  211. }
© 2008 3paste.com Pytania i odpowiedzi | Kontakt | Zmiany 3paste_Poland 3paste_England