Advertisement
janne2101

Untitled

Jun 22nd, 2013
271
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.94 KB | None | 0 0
  1. import java.util.HashSet;
  2. import java.util.Random;
  3. import java.util.Scanner;
  4. import java.util.Set;
  5.  
  6. /**
  7.  * Oblig 2
  8.  * Program for å fylle ut lotto-/vikinglotto-rekker.
  9.  *
  10.  * @author *******
  11.  */
  12.  
  13. public class Oblig_2_Lotto {
  14.     /**
  15.      * Main-metode.
  16.      * Dette starter opp programmet.
  17.      */
  18.  
  19. public static void main(String[] args) { final int lottoRowLength = velgSpill(); final int wantedRows = lesInn();
  20. final int[] x = new int[lottoRowLength];
  21. for (int rowCounter = 0; rowCounter < wantedRows; rowCounter++) { trekk(x);
  22. sorter(x);
  23.             skrivUt(x);
  24.         }
  25. }
  26. /**
  27. * Metode for å velge spill, når ønsket spill er valgt vil metoden retunere
  28.            lottolengden,
  29.  * noe om skiller viking fra vanlig lotto.
  30.  */
  31.  
  32. private static int velgSpill() {
  33. final Scanner input = new Scanner(System.in); final int lottoRowLength;
  34. System.out.println("Trykk 1 for å spille lotto, trykk 2 for å spille vikinglotto."); final int wantedGame = input.nextInt();
  35. if (wantedGame == 1) { lottoRowLength = 7;
  36. } else {
  37. lottoRowLength = 6;
  38. }
  39. return lottoRowLength; }
  40.     /**
  41.      * Metode som skriver ut alle tallene i en lottorekke
  42.      * og legger på linjeskift etter siste tall.
  43.      *
  44.      * @param x tabellen man ønsker å skrive ut.
  45.      */
  46. private static void skrivUt(int[] x) { for (int i = 0; i < x.length; i++) {
  47. int number = x[i];
  48. int lastElement = x.length - 1; String displayText = " " + number;
  49. 
  50. if (i == lastElement) { displayText += "\n";
  51. }
  52.         System.out.print(displayText);
  53.     }
  54. }
  55. /**
  56.  * Metode som fyller en tabell med tilfeldige tall.
  57.  *
  58.  * @param x tabell man ønsker å fylle med tilfeldige tall.
  59.  */
  60. private static void trekk(int[] x) { final Random random = new Random(); final int xSize = x.length;
  61. final int maxNumber;
  62. if (7 == xSize) { maxNumber = 34;
  63. } else {
  64. maxNumber = 48;
  65. }
  66. Set<Integer> randomUniqueNumbers = new HashSet<Integer>(xSize);
  67. while (randomUniqueNumbers.size() < xSize) {
  68. int randomNumber = random.nextInt(maxNumber) + 1; randomUniqueNumbers.add(randomNumber);
  69. }
  70. int i = 0;
  71. for (Integer randomUniqueNumber : randomUniqueNumbers) {
  72.         x[i] = randomUniqueNumber;
  73. i++; }
  74. }
  75. /**
  76.  * Metode som spør bruker om hvor mange rader man ønsker å spille og
  77.  * returnerer dette tallet.
  78.  */
  79. private static int lesInn() {
  80. final Scanner input = new Scanner(System.in); final int numberOfRows;
  81.     System.out.println("Hvor mange rader ønsker du å spille?");
  82.     numberOfRows = input.nextInt();
  83. return numberOfRows; }
  84. /**
  85.  * Sorter en tabell med tall.
  86.  * Denne metoden bruker boubble sort algoritmen for sortering.
  87.  *
  88.  * @param x tabellen man ønsker å ha sortert.
  89.  */
  90. private static void sorter(int[] x) {
  91. final int lengthOfArray = x.length;
  92. for (int value = 0; value < lengthOfArray; value++) {
  93. 
  94. for (int nextValue = 1; nextValue < (lengthOfArray - value); nextValue++) { int first = x[(nextValue - 1)];
  95. int next = x[nextValue];
  96. if (first > next) { x[(nextValue - 1)] = next; x[nextValue] = first;
  97. } }
  98. } }
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement