Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.HashSet;
- import java.util.Random;
- import java.util.Scanner;
- import java.util.Set;
- /**
- * Oblig 2
- * Program for å fylle ut lotto-/vikinglotto-rekker.
- *
- * @author *******
- */
- public class Oblig_2_Lotto {
- /**
- * Main-metode.
- * Dette starter opp programmet.
- */
- public static void main(String[] args) { final int lottoRowLength = velgSpill(); final int wantedRows = lesInn();
- final int[] x = new int[lottoRowLength];
- for (int rowCounter = 0; rowCounter < wantedRows; rowCounter++) { trekk(x);
- sorter(x);
- skrivUt(x);
- }
- }
- /**
- * Metode for å velge spill, når ønsket spill er valgt vil metoden retunere
- lottolengden,
- * noe om skiller viking fra vanlig lotto.
- */
- private static int velgSpill() {
- final Scanner input = new Scanner(System.in); final int lottoRowLength;
- System.out.println("Trykk 1 for å spille lotto, trykk 2 for å spille vikinglotto."); final int wantedGame = input.nextInt();
- if (wantedGame == 1) { lottoRowLength = 7;
- } else {
- lottoRowLength = 6;
- }
- return lottoRowLength; }
- /**
- * Metode som skriver ut alle tallene i en lottorekke
- * og legger på linjeskift etter siste tall.
- *
- * @param x tabellen man ønsker å skrive ut.
- */
- private static void skrivUt(int[] x) { for (int i = 0; i < x.length; i++) {
- int number = x[i];
- int lastElement = x.length - 1; String displayText = " " + number;
- 
- if (i == lastElement) { displayText += "\n";
- }
- System.out.print(displayText);
- }
- }
- /**
- * Metode som fyller en tabell med tilfeldige tall.
- *
- * @param x tabell man ønsker å fylle med tilfeldige tall.
- */
- private static void trekk(int[] x) { final Random random = new Random(); final int xSize = x.length;
- final int maxNumber;
- if (7 == xSize) { maxNumber = 34;
- } else {
- maxNumber = 48;
- }
- Set<Integer> randomUniqueNumbers = new HashSet<Integer>(xSize);
- while (randomUniqueNumbers.size() < xSize) {
- int randomNumber = random.nextInt(maxNumber) + 1; randomUniqueNumbers.add(randomNumber);
- }
- int i = 0;
- for (Integer randomUniqueNumber : randomUniqueNumbers) {
- x[i] = randomUniqueNumber;
- i++; }
- }
- /**
- * Metode som spør bruker om hvor mange rader man ønsker å spille og
- * returnerer dette tallet.
- */
- private static int lesInn() {
- final Scanner input = new Scanner(System.in); final int numberOfRows;
- System.out.println("Hvor mange rader ønsker du å spille?");
- numberOfRows = input.nextInt();
- return numberOfRows; }
- /**
- * Sorter en tabell med tall.
- * Denne metoden bruker boubble sort algoritmen for sortering.
- *
- * @param x tabellen man ønsker å ha sortert.
- */
- private static void sorter(int[] x) {
- final int lengthOfArray = x.length;
- for (int value = 0; value < lengthOfArray; value++) {
- 
- for (int nextValue = 1; nextValue < (lengthOfArray - value); nextValue++) { int first = x[(nextValue - 1)];
- int next = x[nextValue];
- if (first > next) { x[(nextValue - 1)] = next; x[nextValue] = first;
- } }
- } }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement