Advertisement
Bartucz

Java Lotto(kieg:Liz)

Feb 11th, 2021
943
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 8.83 KB | None | 0 0
  1. package lotto;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Arrays;
  5. import java.util.Collections;
  6. import java.util.HashSet;
  7.  
  8. import java.util.List;
  9. import java.util.Set;
  10. import java.util.TreeSet;
  11.  
  12. public class Lotto {
  13.  
  14.     static void megold1() {
  15.  
  16.         System.out.println("9, 15, 26, 70, 89");
  17.     }
  18.  
  19.     static void megold2() {
  20.  
  21. //        lépésenként        
  22. //        double a = Math.random();
  23. //        System.out.println(a);//[0,1)
  24. //        System.out.println(a*90);//[0,90)
  25. //        System.out.println(a*90+1);//[1,91)
  26. //        System.out.println((int)(a*90+1));//[1,90]
  27. //        egy sorban ciklusba ágyazva (ismétlődés nincs kezelve!)        
  28.         for (int i = 0; i <= 5; i++) {
  29.             int a = (int) (Math.random() * 90 + 1);
  30.             System.out.println(a);
  31.         }
  32.     }
  33.  
  34.     static void megold3() {// itt már  3 különböző számot kapok
  35.  
  36.         int a = (int) (Math.random() * 90 + 1);
  37.         int b;
  38.         //hátultesztelős
  39.         do {
  40.             b = (int) (Math.random() * 90 + 1);
  41.         } while (a == b);//újrakezdési feltétel(bennmaradási feltétel)
  42.  
  43.         int c;
  44.         do {
  45.             c = (int) (Math.random() * 90 + 1);
  46.         } while (a == c || b == c);
  47.  
  48.         System.out.println(a + "," + b + "," + c);
  49.  
  50.     }
  51.  
  52.     static void megold4() {//logikai tömb
  53.         boolean[] logikaiTomb = new boolean[91];//0. elemet eldobjuk 1-90 lesz
  54.         for (int i = 1; i <= 90; i++) {
  55.             logikaiTomb[i] = false;
  56.         }
  57. //        logikaiTomb[4] = true;
  58. //        for (int i = 0; i < 90; i++) {
  59. //            System.out.print(logikaiTomb[i] ? 1 : 0);
  60. //
  61. //        }
  62.         int joSzamDb = 0;
  63.         while (joSzamDb < 5) {
  64.             int tipp = (int) (Math.random() * 90 + 1);
  65.             if (!logikaiTomb[tipp]) {
  66.                 logikaiTomb[tipp] = true;
  67.                 joSzamDb++;
  68.             }
  69.  
  70.         }
  71.         System.out.println();
  72.         for (int i = 0; i < 90; i++) {
  73. //            System.out.print(logikaiTomb[i] ? 1 : 0);
  74.             if (logikaiTomb[i]) {
  75.                 System.out.print(i + " ");
  76.             }
  77.  
  78.         }
  79.         System.out.println();
  80.     }
  81.  
  82.     static void megold5() {//számtömb
  83.         int[] szelveny = new int[5];//0-4
  84.         int joSzamDb = 0;
  85.  
  86.         while (joSzamDb < 5) {
  87.             int tipp = (int) (Math.random() * 90 + 1);
  88.             int i = 0;
  89.             while (i < szelveny.length && !(szelveny[i] == tipp)) {
  90.                 i++;
  91.             }
  92.             boolean van = (i < szelveny.length);//találtam egyezést ha nem tudtam 5 ig elszámolni az i -vel
  93.             if (!van) {// ha nem találtam egyezést akkor beírom a listába és lépek a lista indexével(joSzamDb)
  94.                 szelveny[joSzamDb] = tipp;
  95.                 joSzamDb++;
  96.             }
  97.  
  98.         }
  99.         for (int i = 0; i < 5; i++) {
  100.             System.out.print(szelveny[i] + " ");
  101.         }
  102.         System.out.println();
  103.  
  104.     }
  105.  
  106.     static void megold5b() {//számtömb
  107.         int[] szelveny = new int[5];//0-4
  108.         int joSzamDb = 0;
  109.  
  110.         while (joSzamDb < szelveny.length) {
  111.             int tipp = (int) (Math.random() * 90 + 1);
  112.             int i = 0;
  113. //            int db = 0;
  114.             while (i < joSzamDb && !(szelveny[i] == tipp)) {
  115. //                db++;
  116.                 i++;
  117.             }
  118. //            System.out.println(db);
  119.             boolean van = (i < joSzamDb);//találtam egyezést ha nem tudtam joSzamDb ig elszámolni az i -vel
  120.             if (!van) {// ha nem találtam egyezést akkor beírom a listába és lépek a lista indexével(joSzamDb)
  121.                 szelveny[joSzamDb] = tipp;
  122.                 joSzamDb++;
  123.             }
  124.  
  125.         }
  126. //        Arrays.sort(szelveny);
  127. //       közvetlen cserés sorbarendezés:
  128.         for (int i = 0; i < szelveny.length - 1; i++) {
  129.             for (int j = i + 1; j < szelveny.length; j++) {
  130.                 if (szelveny[i] > szelveny[j]) {
  131.                     int csere = szelveny[i];
  132.                     szelveny[i] = szelveny[j];
  133.                     szelveny[j] = csere;
  134.  
  135.                 }
  136.             }
  137.  
  138.         }
  139.  
  140.         for (int i = 0; i < szelveny.length; i++) {
  141.             System.out.print(szelveny[i] + " ");
  142.         }
  143.         System.out.println();
  144.  
  145.     }
  146.  
  147.     static void megold6() {
  148.         List<Integer> szelveny = new ArrayList<>();
  149.         while (szelveny.size() < 5) {
  150.             int tipp = (int) (Math.random() * 90 + 1);
  151.             if (szelveny.indexOf(tipp) == -1) {//!szelveny.contains(tipp)
  152.                 szelveny.add(tipp);//autoboxing int -> Integer
  153.             }
  154.  
  155.         }
  156.         Collections.sort(szelveny);
  157. //        for (Integer szam : szelveny) {
  158. //            System.out.print(szam + ", ");
  159. //        }
  160. //        System.out.println();
  161. //        for (int i = 0; i < szelveny.size(); i++) {
  162. //            System.out.print(szelveny.get(i) + ", ");
  163. //
  164. //        }
  165. //        System.out.println();
  166.  
  167. //        System.out.println();
  168.         System.out.println(szelveny);
  169.     }
  170.  
  171.     static void megold7() {
  172.         Set<Integer> szelveny = new HashSet<>();
  173.         while (szelveny.size() < 5) {
  174.             szelveny.add((int) (Math.random() * 90 + 1));
  175.  
  176.         }
  177. //          System.out.println(szelveny);
  178.  
  179.         for (Integer szam : szelveny) {
  180.             System.out.print(szam + ", ");
  181.         }
  182.         System.out.println();
  183.  
  184.     }
  185.  
  186.     static void megold8() {
  187.         Set<Integer> szelveny = new TreeSet<>();//a kimenet sorba rendezett, de ne sorban tárolja
  188.         while (szelveny.size() < 5) {
  189.             szelveny.add((int) (Math.random() * 90 + 1));
  190.  
  191.         }
  192.         System.out.println(szelveny);
  193.  
  194.     }
  195.  
  196.    
  197.     static void megold9() {
  198.         int sorszam=0;
  199.         final int MAX_DB = 1000;
  200.         for (int db = 1; db <= MAX_DB; db++) {
  201. //        while(sorszam<1000) {
  202. //        for (int db = 1; db <= 10; db++) {
  203. //            for (int i = 0; i <= 5; i++) {
  204. //                int a = (int) (Math.random() * 90 + 1);
  205. //                System.out.print(a+"\t");
  206. //                megold6();
  207. //            }
  208. //            System.out.println(Math.random()<0.5?'i':'n');
  209.            // System.out.println();
  210.             List<Integer> lista = new ArrayList<>();
  211.             while (lista.size() < 5) {
  212.                 int tipp = (int) (Math.random() * 90 + 1);
  213.                 lista.add(tipp);//autoboxing int -> Integer
  214.             }
  215.             Set<Integer> halmaz=new HashSet<>(lista);
  216.             if(halmaz.size() == 5) {//(true) {
  217.                 Collections.sort(lista);
  218. //                System.out.println(/*db*/++sorszam+". szelveny: "+lista);
  219.             ++sorszam;
  220. //                System.out.println(lista+"\t"+(halmaz.size()==5?'i':'n')); //"\ti");
  221.             }
  222. //            else
  223. //                System.out.println("x");
  224. //            Collections.sort(lista);
  225. //            System.out.println(lista);
  226.         }
  227.         System.out.println(MAX_DB+" db számsorozatból "+sorszam+" db tekinthető lottoszelvenynek.");
  228.     }
  229.    
  230.    
  231.     static void megold10() {
  232. //        String s="";
  233. //        System.out.println(s);
  234. //        String s ="13";
  235. //        s+=", 15";
  236. //        System.out.println(s);
  237. //        String s=";13;15;32;3;79;";
  238.         String s=";";
  239. //        int tipp=(int)(Math.random()*90+1);
  240. //        s+=tipp+";";
  241.         int joSzamDb=0;
  242.         while(joSzamDb<5) {
  243.             int tipp=(int)(Math.random()*90+1);
  244.             if(!s.contains(";"+tipp+";")) {
  245. //                System.out.println("s1: "+s);
  246.                 s+= tipp+";";
  247. //                System.out.println("s2: "+s);
  248.                 joSzamDb++;
  249.             }
  250. //            else {
  251. //                System.out.println("ismetlodes: "+tipp);
  252. //            }
  253.         }
  254. //        System.out.println(s);
  255.         String[] ds=s.split(";");
  256. //        System.out.println(ds.length);
  257. //        int[] szelveny={Integer.parseInt(ds[1]), Integer.parseInt(ds[2]), Integer.parseInt(ds[3]),
  258. //                        Integer.parseInt(ds[4]), Integer.parseInt(ds[5])};
  259.         int [] szelveny=new int[5];
  260.         for (int i = 0; i < szelveny.length; i++)
  261.             szelveny[i]=Integer.parseInt(ds[i+1]);
  262.         Arrays.sort(szelveny);
  263.         for (int i = 0; i < szelveny.length; i++)
  264.             System.out.print(szelveny[i]+", ");
  265.         System.out.println();
  266.         }
  267.    
  268.    
  269.    
  270.    
  271.     public static void main(String[] args) {
  272.         System.out.println("Ötöslottó-szelvény (több változatban)");
  273.  
  274.         //        System.out.println("Hello világ");
  275.         //        System.err.println("hiba:Hello világ");
  276. //        megold2();
  277. //        megold3();
  278. //        megold4();
  279. //        megold5();
  280. //        megold5b();
  281. //        megold6();
  282. //        megold7();
  283. //        megold8();
  284. //        megold9();
  285. //        megold10();
  286.  
  287.          
  288.     }
  289.    
  290.  
  291.    
  292.  
  293. }
  294.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement