Użytkownik: anonymous
Tytuł: moj prog
Język: Java
Data: 16 mar 2010, 01:28
Link: http://3paste.com/s/1563/java/moj_prog
  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. 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.");
  99.  
  100. try{
  101. st.nextToken();
  102. wybor = (int)st.nval;
  103. }
  104. catch(IOException e){
  105. System.out.println("ERROR");}
  106. if ( wybor==1 ) { Dataszukacz();}
  107. else if (wybor == 2) { NumerekSzukacz();}
  108. else if (wybor == 3) { SzukaczNumerkow();}
  109. }
  110.  
  111. public static void Dataszukacz(){
  112. System.out.println("Podaj date szukanego losowania: ");
  113. try{
  114. st.nextToken();
  115. szukdata = (int)st.nval;
  116. }
  117. catch(IOException e){
  118. System.out.println("ERROR");}
  119.  
  120. Iterator fit = new FilterIterator(Lista_Lotto.iterator(),new DataCyferki());
  121. fit.first();
  122. while(!fit.isDone()){
  123. Lotto zaw=(Lotto)fit.current();
  124. System.out.println(zaw);
  125. int index = fit.index();
  126. System.out.println("Index podanego losowania wynosi: " + index);
  127. fit.next();
  128.  
  129. }
  130.  
  131. System.out.println("Koniec");
  132. }
  133.  
  134. public static void NumerekSzukacz(){
  135. System.out.println("Podaj numerki wyszukiwanej daty");
  136. szukliczby = new int[6];
  137. for (int i=0;i<6;i++){
  138. try{
  139. st.nextToken();
  140. szukliczby[i] = (int)st.nval;
  141. }
  142. catch(IOException e){
  143. System.out.println("ERROR");
  144. }
  145. }
  146. Iterator fit = new FilterIterator(Lista_Lotto.iterator(),new CyferkiData());
  147. fit.first();
  148. while(!fit.isDone()){
  149. Lotto zaw=(Lotto)fit.current();
  150. System.out.println(zaw);
  151. int index = fit.index();
  152. System.out.println("Index podanego losowania wynosi: " + index);
  153. fit.next();
  154. }
  155. System.out.println("Koniec");
  156. }
  157. public static void SzukaczNumerkow(){
  158. System.out.println("Podaj odpowiednio date poczatkowa i date koncowa");
  159.  
  160. System.out.print("Data poczatkowa: ");
  161. try{
  162. st.nextToken();
  163. data_poczatkowa = (int)st.nval;
  164. }
  165. catch(IOException e){
  166. System.out.println("ERROR");
  167. }
  168. System.out.print("Data koncowa: ");
  169. try{
  170. st.nextToken();
  171. data_koncowa = (int)st.nval;
  172. }
  173. catch(IOException e){
  174. System.out.println("ERROR");
  175. }
  176. System.out.println("Teraz podaj szukany numerek X: ");
  177. try{
  178. st.nextToken();
  179. szuknum = (int)st.nval;
  180. }
  181. catch(IOException e){
  182. System.out.println("ERROR");
  183. }
  184. int k = 0;
  185. Iterator it= Lista_Lotto.iterator();
  186. it.first();
  187. while(!it.isDone()){
  188. if (((Lotto)it.current()).data != data_poczatkowa){
  189. it.next();
  190. }
  191. }
  192. Iterator fit = new FilterIterator(it,new SzukanyNumerek());
  193. fit.first();
  194. while(!fit.isDone()){
  195. if (((Lotto)fit.current()).data != data_koncowa){
  196.  
  197.  
  198.  
  199. while(!fit.isDone()){
  200. Lotto zaw=(Lotto)fit.current();
  201. System.out.println(zaw);
  202. int index = fit.index();
  203. System.out.println("Index podanego losowania wynosi: " + index);
  204. fit.next();
  205. k++;
  206. }
  207. it.next();
  208. }
  209.  
  210. }
  211. System.out.println("Liczba wystepuje " + k + " razy.");
  212. System.out.println("Koniec");
  213. }
  214.  
  215.  
  216.  
  217.  
  218.  
  219. }
© 2008 3paste.com Pytania i odpowiedzi | Kontakt | Zmiany 3paste_Poland 3paste_England