Advertisement
Guest User

Untitled

a guest
Jan 16th, 2019
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.68 KB | None | 0 0
  1. import java.io.File;
  2. import java.io.FileInputStream;
  3. import java.io.FileNotFoundException;
  4. import java.io.IOException;
  5. import java.io.ObjectInputStream;
  6. import java.io.Serializable;
  7. import java.util.ArrayList;
  8. import java.util.Arrays;
  9.  
  10.  
  11. public class MCExamen {
  12.  
  13. private String naamVak;
  14. private ArrayList<MCVraag> vragen;
  15. private boolean hogereCesuur;
  16.  
  17. public MCExamen(String naamVak, File f,boolean hogereCesuur){
  18. this.naamVak = naamVak;
  19. this.hogereCesuur = hogereCesuur;
  20. this.vragen = new ArrayList<MCVraag>();
  21.  
  22. leesVragen(f);
  23. vragen.trimToSize();
  24. System.out.println(vragen.size() + " MC vragen ingeladen!");
  25.  
  26. }
  27. public void leesVragen(File f){
  28. try {
  29. ObjectInputStream is = new ObjectInputStream(new FileInputStream(f.getName()));
  30. vragen = new ArrayList<MCVraag>();
  31. vragen = (ArrayList<MCVraag>) is.readObject();
  32. } catch (FileNotFoundException ex) {
  33. System.out.println("Het bestand '" + f.getName() + "' kan niet gevonden worden!");
  34. } catch (Exception e) {
  35. System.out.println("Er is een probleem bij het inlezen van het bestand '" + f.getName() + "'!");
  36. }
  37. }
  38.  
  39. public String getNaamVak() {
  40. return naamVak;
  41. }
  42.  
  43. public ArrayList<MCVraag> getVragen() {
  44. return vragen;
  45. }
  46. public int getAantalVragen(){
  47. return vragen.size();
  48. }
  49. public int getAantalAntwoordenVanVraag(int vraagnummer){
  50. return this.vragen.get(vraagnummer).getAantalAntwoorden();
  51. }
  52. public boolean isHogereCesuur() {
  53. return hogereCesuur;
  54. }
  55. public double bepaalScoreZonderCesuur(int correcteAntw){
  56. double score;
  57. double correct = (double) correcteAntw;
  58. double aantal = (double) getAantalVragen();
  59.  
  60. score = 20*correct/aantal;
  61. double z = Math.round(score*100);
  62. z /=100;
  63.  
  64. return z;
  65.  
  66.  
  67. }
  68. public double bepaalHogereCesuur(){
  69. double cesuur=0;
  70. for(MCVraag vraag : vragen){
  71. cesuur+= (double)(((double)vraag.getAantalAntwoorden() + 1)/(2*(double)vraag.getAantalAntwoorden()));
  72. }
  73. return cesuur;
  74. }
  75. public double bepaalScoreMetCesuur(int correcteAntw){
  76.  
  77. double c = bepaalHogereCesuur();
  78. double n = getAantalVragen();
  79. double y = correcteAntw;
  80. double z = 10+ (10*(y-c)/(n-c));
  81. z = Math.round(z*100);
  82. z/=100;
  83. if (z>=0){
  84. return z;
  85. }
  86. else {
  87. return 0;
  88. }
  89.  
  90. }
  91.  
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement