Gå til innhold

Liten lotto oppgave med flere klasser! hjelp!


Anbefalte innlegg

Videoannonse
Annonse

Lag en klasse for en LottoRekke. I denne klassen så kan du lage en metode som du kan kalle for equals som tar inn en annen LottoRekke og sjekker om den lottorekken metoden tok inn er den samme som den objektet holder på.

 

public boolean equals(LottoRekke rekke) {
// Finner ut om lottorekken er lik og returnerer enboolean
}

 

Deretter kan du bare lage en for-løkke for å gå gjennom alle rekkene dine og se om de stemmer med vinner-rekka.

 

Gjorde egentlig alt sammen selv på https://gist.github.com/4178611.

Kanskje litt upedagogisk, men har eksamen i morgen, så må legge meg.

Det er nok lurest å prøve mest mulig selv først, og titte på koden om du blir usikker.

 

Koden er selvsagt bare et forslag. Dette kan gjøres på mange måter.

Endret av Stegz
Lenke til kommentar

Hadde dette liggende på en gammel workspace.

Og selvfølgelig, ikke bare kopier dette, prøv selv først etc etc detta veit du....

 

 

 

 

 

package lotto;

import java.util.Scanner;

public class Lotto {
public static void main(String[] args) {

 Rekke rekke = new Rekke();
 Trekning trekning = new Trekning(rekke);
 int counter=1;
 System.out.println("Hvor mange rette vil du ha? (Mellom 1 og 7");
 Scanner scan = new Scanner(System.in);
 int number = scan.nextInt();

 while(trekning.antallRiktige()<=number) {
  trekning = new Trekning(rekke);
  counter++;
  System.out.println(counter);
 }
 if(trekning.antallRiktige()>=number) {
  System.out.println("Du fikk " +number+ " rette etter " + counter+ " forsøk.");

 }
}
}

 

package lotto;

import java.util.Arrays;
import java.util.Random;

public class Rekke {
int[] tall;
public Rekke() {
 tall = new int[7];
 fyllRekke();
 Arrays.sort(tall);
 while(!unikeTall()) {
  fyllRekke();
 }
}

public int[] getRekke() {
 return tall;
}

public int length() {
 return tall.length;
}
public int get(int i) {
 return tall[i];
}
private int getRandomNumber() {
 int maximum = 34;
 int minimum = 1;
 int randomNum = 0;
 while(randomNum<1){
  Random rn = new Random();
  int n = maximum - minimum + 1;
  int j = rn.nextInt() % n;
  randomNum =  minimum + j;
 }
 return randomNum;
}
private void fyllRekke() {
 for(int i=0; i<tall.length; i++) {
  int n = getRandomNumber();
  tall[i] = n;
 }
}
private boolean unikeTall() {
 boolean unike=true;
 int n=getRandomNumber();

 for(int i=0; i<tall.length-1; i++) {
  if(tall[i]==tall[i+1]){
unike=false;
  }
 }
 return unike;
}
}

 

package lotto;
public class Trekning {

Rekke rekke;
Rekke trekning;

public Trekning(Rekke rekke) {
 this.trekning = new Rekke();
 this.rekke=rekke;


}

public int antallRiktige(){
int counter = 0;
 for(int i=0; i<rekke.length(); i++) {
  for(int j=0; j<rekke.length(); j++) {
if(rekke.get(i) == trekning.get(j)){
 counter++;
}
  }
 }
 return counter;
}

public Rekke getTrekning() {
 return trekning;
}
}

 

 

Endret av Aleksander-
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...