Advertisement
Guest User

Untitled

a guest
May 24th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.57 KB | None | 0 0
  1. package lib;
  2.  
  3. public class TotoLotek {
  4. private int zakres;
  5. private int liczby;
  6. private int losowania;
  7. private String sposobLosowania;
  8.  
  9. private int [][]tblWyniki;
  10. private int []tblStatystyka;
  11.  
  12. public TotoLotek(){
  13. zakres = 49;
  14. liczby = 6;
  15. losowania = 10;
  16. sposobLosowania = "PowtorzeniaTak";
  17. }
  18.  
  19. public TotoLotek(String pZakres, String pLiczby, String pLosowania, String psposobLosowania){
  20. zakres = Integer.parseInt(pZakres);
  21. liczby = Integer.parseInt(pLiczby);
  22. losowania = Integer.parseInt(pLosowania);
  23. sposobLosowania = psposobLosowania;
  24. }
  25.  
  26. public int gZakres(){
  27. return zakres;
  28. }
  29. public String vZakres(){
  30. return Integer.toString(zakres);
  31. }
  32.  
  33.  
  34. public int gLiczby(){
  35. return liczby;
  36. }
  37. public String vLiczby(){
  38. return Integer.toString(liczby);
  39. }
  40.  
  41.  
  42. public int gLosowania(){
  43. return losowania;
  44. }
  45. public String vLosowania(){
  46. return Integer.toString(losowania);
  47. }
  48.  
  49. public String gSposobLosowania(){
  50. return sposobLosowania;
  51. }
  52.  
  53. public String vSposobLosowania(String pSposobLosowania){
  54. String zaznacz = "";
  55.  
  56. if(pSposobLosowania.equals(sposobLosowania)) zaznacz = "checked=\"checked\"";
  57.  
  58. return zaznacz;
  59. }
  60.  
  61. public void losujPowtorzeniaTak()
  62. {
  63. tblWyniki = new int[losowania][liczby];
  64. for(int w = 0; w< losowania; w++)
  65. {
  66. for(int k=0; k<liczby; k++)
  67. tblWyniki[w][k]=(int)(Math.random()*zakres)+1;
  68. }
  69. }
  70. public void losujPowtorzeniaNie()
  71. {
  72. int proba;
  73. boolean duplikat;
  74. tblWyniki = new int[losowania][liczby];
  75. for (int i=0; i<losowania; i++)
  76. {
  77. for (int j=0; j<liczby; j++)
  78. {
  79. do
  80. {
  81. duplikat = false;
  82. proba = (int)(Math.random()*zakres)+1;
  83.  
  84. for ( int t = 0; t <= j; t ++)
  85. if ( proba == tblWyniki[i][t] ) duplikat = true;
  86.  
  87. } while ( duplikat != false );
  88.  
  89. tblWyniki[ i ][ j ] = proba;
  90. }
  91. }
  92.  
  93. }
  94.  
  95. public void losuj(){
  96.  
  97. switch(sposobLosowania)
  98. {
  99. case "PowtorzeniaTak" : losujPowtorzeniaTak(); break;
  100. case "PowtorzeniaNie" : losujPowtorzeniaNie(); break;
  101. }
  102. obliczStatystyka();
  103. }
  104.  
  105. public String pokazWyniki(){
  106. if(tblWyniki == null) return "";
  107. StringBuffer wyniki = new StringBuffer();
  108.  
  109. for(int z = 0; z <losowania; z++)
  110. {
  111. wyniki.append("<tr>");
  112.  
  113. for(int k =0; k<liczby; k++)
  114. wyniki.append(String.format("<td> %d </td>", tblWyniki[z][k]));
  115.  
  116.  
  117. wyniki.append("</tr>");
  118. }
  119.  
  120. return wyniki.toString();
  121. }
  122.  
  123. public void obliczStatystyka(){
  124. tblStatystyka = new int[zakres];
  125.  
  126. for(int s = 0; s< zakres; s++)tblStatystyka[s]=0;
  127.  
  128. for(int w = 0; w< losowania; w++)
  129. for(int k=0; k<liczby; k++)
  130. tblStatystyka[tblWyniki[w][k] - 1] ++;
  131. }
  132. public String pokazStatystyka(){
  133. if(tblStatystyka == null) return "";
  134. StringBuffer Statystyka = new StringBuffer();
  135. Statystyka.append("<tr>");
  136. for(int z = 0; z <zakres; z++)
  137. Statystyka.append(String.format("<td> %d </td>", z+1));
  138. Statystyka.append("</tr>");
  139. Statystyka.append("<tr>");
  140. for(int z = 0; z <zakres; z++)
  141. Statystyka.append(String.format("<td> %d </td>", tblStatystyka[z]));
  142. Statystyka.append("</tr>");
  143.  
  144. return Statystyka.toString();
  145. }
  146. public String pokazWykres()
  147. {
  148. if(tblStatystyka == null) return "";
  149.  
  150. StringBuffer wyniki = new StringBuffer();
  151.  
  152. wyniki.append("<line x1='2%' y1='2%' x2='2%' y2='98%' style ='stroke:red; stroke-width:2'/>");
  153. wyniki.append("<line x1='2%' y1='98%' x2='98%' y2='98%' style ='stroke:rgb(255,0,0; stroke-width:2'/>");
  154.  
  155.  
  156. return wyniki.toString();
  157. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement