1. package kokoelmaharj;
  2.  
  3. import java.util.*;
  4.  
  5. public class harj5 {
  6.  
  7. /**
  8. * @author
  9. * Sanakoe, HashMapeissa sanoja suomeksi ja englanniksi.
  10. * Käyttäjältä kysytään suomenkielinen sana, johon pitäää vastata englanniksi.
  11. */
  12. public static void main(String[] args) {
  13.  
  14. System.out.println("Sanakoe V.0.1.1");
  15. System.out.println("Vastaa annettuihin sanoihin englanniksi. \n");
  16.  
  17.  
  18. Scanner sc = new Scanner(System.in);
  19. HashMap<Integer, String> suomi = new HashMap<Integer, String>();
  20. suomi.put(1, "Auto");
  21. suomi.put(2, "Aurinko");
  22. suomi.put(3, "Kaiutin");
  23.  
  24. HashMap<Integer, String> englanti = new HashMap<Integer, String>();
  25. englanti.put(1, "Car");
  26. englanti.put(2, "Sun");
  27. englanti.put(3, "Speaker");
  28.  
  29. ArrayList<Integer> vaarat = new ArrayList<Integer>(); //tungetaan tänne väärät
  30.  
  31. String vastaus;
  32. int pisteet = 0;
  33. int maara = suomi.size();
  34. String jatka = null;
  35.  
  36. for (int i = 0; i < maara; i++) {
  37. System.out.print("Mikä on "+ suomi.get(i+1) +" englanniksi? ");
  38. vastaus = sc.next();
  39.  
  40. if (vastaus.equalsIgnoreCase(englanti.get(i+1))) {
  41. System.out.println("Oikea vastaus");
  42. pisteet++;
  43. }else{
  44. System.out.println("Väärä vastaus");
  45. vaarat.add(i+1);
  46. }
  47.  
  48. System.out.println();
  49.  
  50. }
  51. System.out.println("Pisteet:"+ pisteet +"/"+ maara);
  52. if(pisteet != maara){
  53. System.out.print("Haluatko yrittää uudestaan väärin menneitä sanoja? (k/e) ");
  54. jatka = sc.next();
  55. if(jatka.equalsIgnoreCase("k")){
  56. System.out.println("Mikäli haluat lopettaa sanojen arvaamisen, kirjota Lopeta");
  57.  
  58.  
  59. int i = 0;
  60. pisteet = maara - pisteet; //Pisteiden avulla katsotaan, kuinka monta kertaa uusiksi
  61. while (pisteet != 0) {
  62. System.out.print("Mikä on "+ suomi.get(vaarat.get(i)) +" englanniksi? ");
  63. vastaus = sc.next();
  64. if (vastaus.equalsIgnoreCase(englanti.get(vaarat.get(i)))) {
  65. System.out.println("Oikea vastaus\n");
  66. pisteet--;
  67. i++;
  68. }else if (vastaus.equalsIgnoreCase("lopeta")){
  69. break;
  70. }else{
  71. System.out.println("Väärä vastaus\n");
  72.  
  73. }
  74. }
  75. }
  76.  
  77. }
  78. if(pisteet == maara)
  79. System.out.println("\nKaikki oikein, heti ekalla yrittämällä. Hienoa!");
  80. else
  81. System.out.println("\nKaikki oikein.");
  82. sc.close();
  83. }
  84. }
  85.  
  86.