Java >> Java tutorial >  >> Java

Java Lottery Program Array

Java Lottery Program Array | I dette afsnit vil vi skrive et Java-program til lotterispillet. Dette er et spil hvor spilleren skal trække tallene tilfældigt af hensyn til præmien, dette afhænger helt af held, spilleren der får lotto numrene vinder præmien.

For eksempel:-

1) Indtast 5 tal:1,6,8,16,34
Lotteritumrene er:45,23,33,12,2
Beklager, du tabte.

2) Indtast 5 tal:45,23,33,12,2
Lotteritumrene er:45,23,33,12,2
Tillykke, du vandt.

Java Lottery Program Array Code

Lad os nu se Java Lottery Program Array. Vi vil bruge ArrayList i stedet for et simpelt Java-array. Og til at generere tallene vil vi bruge Java Random-klassen.

Java Lottery Program Array Code

import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Scanner;

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

      // generate winning numbers
      List<Integer> winningNum = new ArrayList<>();
      Random random = new Random();
      for (int i = 0; i < 6; i++) {
         while (true) {
            // get a random number between 1 to 49
            int winning = random.nextInt(49) + 1;
            // add it to list if it is not exist
            if (!winningNum.contains(winning)) {
               winningNum.add(winning);
               break;
            }
         }
      }

      // take input from user
      Scanner scan = new Scanner(System.in);
      System.out.println("================ Java Lottery Program Array " +
                         "================");
      System.out.println("Please enter the 6 numbers you want to " + 
                     "choose between 1 and 49");
      List<Integer> guessedNum = new ArrayList<>();
      
      for (int i = 0; i < 6; i++) {
         System.out.println("The numbers you have chosen are: " 
                        + guessedNum);
         System.out.print("Enter a number between 1-49: ");
         while (true) {
            try {
               String numberString = scan.nextLine();
               int number = Integer.parseInt(numberString);
               if (number >= 1 && number <= 49) {
                  guessedNum.add(number);
                  break;
               } else {
                  System.out.println(number + 
                    " is not between 1 and 49. Please try again.");
               }
            } catch (NumberFormatException nfe) {
               System.out.println("Hey, that's not even a number. "+
                              "Please try again.");
            }
         }
      }

      System.out.println("\nThe winning numbers were: " + winningNum);
      System.out.println("Your numbers are: " + guessedNum);

      guessedNum.retainAll(winningNum);
      System.out.println("Your matched numbers are: " + guessedNum);

      if (guessedNum.containsAll(winningNum)) {
         System.out.println("Holy crap, you actually won. "+
                        "How did you do that?");
      } else {
         System.out.println("Sorry, you lost. Not surprising.");
      }

      scan.close();
   }
}

Output:-

================Java Lottery Program Array =================
Indtast venligst de 6 numre, du vil vælge imellem 1 og 49
De tal du har valgt er:[ ]
Indtast et tal mellem 1-49:15
De tal du har valgt er:[15]
Indtast et tal mellem 1-49:12
De tal du har valgt er:[15, 12]
Indtast et tal mellem 1-49:48
De tal du har valgt er:[15, 12 , 48]
Indtast et tal mellem 1-49:42
De tal, du har valgt, er:[15, 12, 48, 42]
Indtast et tal mellem 1-49:45
De tal du har valgt er:[15, 12, 48, 42, 45]
Indtast et tal mellem 1-49:23

De vindende tal var:[40, 38, 24, 23, 18, 7]
Dine numre er:[15, 12, 48, 42, 45, 23]
Dine matchede numre er:[23]
Beklager, du faret vild. Ikke overraskende.

================Java Lottery Program Array =================
Indtast venligst de 6 numre, du vil vælge imellem 1 og 49
De tal du har valgt er:[ ]
Indtast et tal mellem 1-49:10
De tal du har valgt er:[10]
Indtast et tal mellem 1-49:80
80 er ikke mellem 1 og 49. Prøv venligst igen.
20
De tal, du har valgt, er:[10, 20]
Indtast et tal mellem 1-49:KnowProgram
Hey, det er ikke engang et tal. Prøv venligst igen.
50
50 er ikke mellem 1 og 49. Prøv venligst igen.
22
De tal, du har valgt, er:[10, 20, 22]
Indtast et tal mellem 1-49:25
De tal, du har valgt, er:[10, 20, 22, 25]
Indtast et tal mellem 1-49:26
Tallene du har valgt er:[10, 20, 22, 25, 26]
Indtast et tal mellem 1-49:27

De vindende tal var:[41, 27, 9, 47 , 36, 15]
Dine tal er:[10, 20, 22, 25, 26, 27]
Dine matchede tal er:[27]
Beklager, du tabte. Ikke overraskende.

I ovenstående Java Lottery Program Array har vi først initialiseret de 6 tilfældige tal ved hjælp af Java Random-klassen. Derefter har vi taget 6 gyldige tal mellem 1 og 49 som input fra slutbrugeren.

Nu sammenlignes både inputlisten og vinderlisten. Hvis begge er nøjagtigt ens, vinder brugeren lotteriet, ellers taber brugeren spillet. Se også:- Skjult Word Java-program


Java tag