Advertisement
Guest User

Untitled

a guest
Oct 27th, 2016
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.79 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.Iterator;
  3. import java.util.Random;
  4.  
  5. public class LeitnerStudyMethod extends AbstractStudyMethod{
  6.  
  7.  
  8. public LeitnerStudyMethod(){
  9. super();
  10. }
  11.  
  12. private int randomPickBox(){
  13. int index = 0;
  14. double p = r.nextDouble();
  15. for(;index < BOXSIZE; ++index){
  16. if(p < boxes.get(index).getPivot()){
  17. break;
  18. }
  19. }
  20. return index;
  21. }
  22. public Flashcard randomPickCard(){
  23. int boxIndex = 0;
  24. int randomCardIndex;
  25. while(true){
  26. boxIndex = randomPickBox();
  27. if(boxes.get(boxIndex).getCards().size() > 0)
  28. break;
  29. }
  30.  
  31. randomCardIndex = Math.abs(r.nextInt() % boxes.get(boxIndex).getCards().size());
  32. Flashcard flashcard = boxes.get(boxIndex).getCards().get(randomCardIndex);
  33. int randomSide = r.nextInt() % 2;
  34. if(randomSide == 0){
  35. flashcard.setSide(ESide.FRONT);
  36. }else{
  37. flashcard.setSide(ESide.BACK);
  38. }
  39. return flashcard;
  40. }
  41.  
  42. import java.util.ArrayList;
  43.  
  44. public class DrillStudyMethod extends AbstractStudyMethod{
  45. private ArrayList<Flashcard> pool;
  46. public DrillStudyMethod(){
  47. super();
  48. pool = null;
  49. }
  50. @SuppressWarnings("unchecked")
  51. public void setBoxNum(int boxNum){
  52. pool = (ArrayList<Flashcard>) this.getBoxes().get(boxNum).getCards().clone();
  53. }
  54.  
  55. public ArrayList<Flashcard> getPool(){
  56. return pool;
  57. }
  58. public Flashcard randomPickCard(){
  59. if(pool.size() == 0)
  60. return null;
  61. int randomCardIndex = Math.abs(r.nextInt() % pool.size());
  62. Flashcard flashcard = pool.get(randomCardIndex);
  63. int randomSide = r.nextInt() % 2;
  64. if(randomSide == 0){
  65. flashcard.setSide(ESide.FRONT);
  66. }else{
  67. flashcard.setSide(ESide.BACK);
  68. }
  69. return flashcard;
  70. }
  71.  
  72. public boolean dropCard(Flashcard flashcard){
  73. return pool.remove(flashcard);
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement