Suggest a feature
×

Welcome to TagMyCode

Please login or create account to add a snippet.
0
0
 
0
Added: Dec 13, 2020 8:59 PM
Views: 5
  1.  
  2. import java.util.Arrays;
  3. import java.util.Scanner;
  4. public class Main {
  5.     // TODO: 08.12.2020 Eingabe von 6 Lottozahlen. Jede Zahl muss zwischen 1 und 45 liegen.
  6.     //  Doppelgänger nicht erlaubt!
  7.     //  Fordere den Anwender wieder für eine Neueingabe auf, und starte es nicht komplett neu!
  8.     //  Die Methode soll die sortierten Lottozahlen als int-Array zurückgeben.
  9.     public static void main(String[] args) {
  10.         // leeres Array erstellen
  11.         int[] lottoarray = new int[6];
  12.         // Array befüllen mit inputLottoNumbers
  13.         lottoarray = inputLottoNumbers(lottoarray);
  14.         //Array sortieren
  15.         Arrays.sort(lottoarray);
  16.         // Array als String ausgeben
  17.         System.out.println(java.util.Arrays.toString(lottoarray));
  18.     }
  19.  
  20.     public static int[] inputLottoNumbers(int [] lottoarray){
  21.  
  22.         // Scanner an System.in
  23.         var scan = new Scanner(System.in);
  24.         //System.out.println(java.util.Arrays.toString(lottoarray));
  25.  
  26.  
  27.         // Eingabe soll  für lottoarray.length also 6 Elemente gemacht werden
  28.         for(int i = 0; i<lottoarray.length; i++) {
  29.  
  30.             // Ausgabe zur Aufforderung der Eingabe
  31.             System.out.print("Geben Sie hier die " + (i + 1) + ". Zahl ein:");
  32.             // Erwartet Eingabe
  33.             int number = scan.nextInt();
  34.  
  35.             // Checken ob Eingabe dem Wertebereich entspricht
  36.             if (number <= 45 && number > 0) {
  37.                 // überprüft mit der Methode checkDuplicate, ob die zahl sich bereits im Array befindet
  38.                 if (checkDuplicate(lottoarray, number) == true) {
  39.                     System.out.println("Diese Zahl haben Sie schon! Bitte nochmals eingeben");
  40.                     // i wird um 1 verringert und mit continue wieder um 1 erhöht
  41.                     // also wird die selbe Stelle erneut aufgefordert
  42.                     i--;
  43.                     continue;
  44.                 } else {
  45.                     // Die nummer wird an der Position i ins Array eingefügt
  46.                     insertNumberInArray(number, lottoarray, i);
  47.                 }
  48.             } else {
  49.                 System.out.println("Zahl muss zwischen 1-45 sein!");
  50.                 // Schleife wird für die position i neu gestartet
  51.                 i--;
  52.                 continue;
  53.             }
  54.         }
  55.         return lottoarray;
  56.     }
  57.  
  58.  
  59.  
  60.     public static int[] insertNumberInArray(int number, int[] array, int pos){
  61.         array[pos]=number;
  62.         return array;
  63.     }
  64.  
  65.     public static boolean checkDuplicate(int[] array, int number){
  66.  
  67.         boolean duplicate = false;
  68.  
  69.         for(int i = 0; i<array.length; i++){
  70.             if(number == array[i]){
  71.                 duplicate = true;
  72.                 break;
  73.             }
  74.         }
  75.  
  76.         return duplicate;
  77.  
  78.     }
  79. }
  80.