Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- import java.util.Iterator;
- import java.util.Random;
- public class LeitnerStudyMethod extends AbstractStudyMethod{
- public LeitnerStudyMethod(){
- super();
- }
- private int randomPickBox(){
- int index = 0;
- double p = r.nextDouble();
- for(;index < BOXSIZE; ++index){
- if(p < boxes.get(index).getPivot()){
- break;
- }
- }
- return index;
- }
- public Flashcard randomPickCard(){
- int boxIndex = 0;
- int randomCardIndex;
- while(true){
- boxIndex = randomPickBox();
- if(boxes.get(boxIndex).getCards().size() > 0)
- break;
- }
- randomCardIndex = Math.abs(r.nextInt() % boxes.get(boxIndex).getCards().size());
- Flashcard flashcard = boxes.get(boxIndex).getCards().get(randomCardIndex);
- int randomSide = r.nextInt() % 2;
- if(randomSide == 0){
- flashcard.setSide(ESide.FRONT);
- }else{
- flashcard.setSide(ESide.BACK);
- }
- return flashcard;
- }
- import java.util.ArrayList;
- public class DrillStudyMethod extends AbstractStudyMethod{
- private ArrayList<Flashcard> pool;
- public DrillStudyMethod(){
- super();
- pool = null;
- }
- @SuppressWarnings("unchecked")
- public void setBoxNum(int boxNum){
- pool = (ArrayList<Flashcard>) this.getBoxes().get(boxNum).getCards().clone();
- }
- public ArrayList<Flashcard> getPool(){
- return pool;
- }
- public Flashcard randomPickCard(){
- if(pool.size() == 0)
- return null;
- int randomCardIndex = Math.abs(r.nextInt() % pool.size());
- Flashcard flashcard = pool.get(randomCardIndex);
- int randomSide = r.nextInt() % 2;
- if(randomSide == 0){
- flashcard.setSide(ESide.FRONT);
- }else{
- flashcard.setSide(ESide.BACK);
- }
- return flashcard;
- }
- public boolean dropCard(Flashcard flashcard){
- return pool.remove(flashcard);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement