Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package lotto;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.Collections;
- import java.util.HashSet;
- import java.util.List;
- import java.util.Set;
- import java.util.TreeSet;
- public class Lotto {
- static void megold1() {
- System.out.println("9, 15, 26, 70, 89");
- }
- static void megold2() {
- // lépésenként
- // double a = Math.random();
- // System.out.println(a);//[0,1)
- // System.out.println(a*90);//[0,90)
- // System.out.println(a*90+1);//[1,91)
- // System.out.println((int)(a*90+1));//[1,90]
- // egy sorban ciklusba ágyazva (ismétlődés nincs kezelve!)
- for (int i = 0; i <= 5; i++) {
- int a = (int) (Math.random() * 90 + 1);
- System.out.println(a);
- }
- }
- static void megold3() {// itt már 3 különböző számot kapok
- int a = (int) (Math.random() * 90 + 1);
- int b;
- //hátultesztelős
- do {
- b = (int) (Math.random() * 90 + 1);
- } while (a == b);//újrakezdési feltétel(bennmaradási feltétel)
- int c;
- do {
- c = (int) (Math.random() * 90 + 1);
- } while (a == c || b == c);
- System.out.println(a + "," + b + "," + c);
- }
- static void megold4() {//logikai tömb
- boolean[] logikaiTomb = new boolean[91];//0. elemet eldobjuk 1-90 lesz
- for (int i = 1; i <= 90; i++) {
- logikaiTomb[i] = false;
- }
- // logikaiTomb[4] = true;
- // for (int i = 0; i < 90; i++) {
- // System.out.print(logikaiTomb[i] ? 1 : 0);
- //
- // }
- int joSzamDb = 0;
- while (joSzamDb < 5) {
- int tipp = (int) (Math.random() * 90 + 1);
- if (!logikaiTomb[tipp]) {
- logikaiTomb[tipp] = true;
- joSzamDb++;
- }
- }
- System.out.println();
- for (int i = 0; i < 90; i++) {
- // System.out.print(logikaiTomb[i] ? 1 : 0);
- if (logikaiTomb[i]) {
- System.out.print(i + " ");
- }
- }
- System.out.println();
- }
- static void megold5() {//számtömb
- int[] szelveny = new int[5];//0-4
- int joSzamDb = 0;
- while (joSzamDb < 5) {
- int tipp = (int) (Math.random() * 90 + 1);
- int i = 0;
- while (i < szelveny.length && !(szelveny[i] == tipp)) {
- i++;
- }
- boolean van = (i < szelveny.length);//találtam egyezést ha nem tudtam 5 ig elszámolni az i -vel
- if (!van) {// ha nem találtam egyezést akkor beírom a listába és lépek a lista indexével(joSzamDb)
- szelveny[joSzamDb] = tipp;
- joSzamDb++;
- }
- }
- for (int i = 0; i < 5; i++) {
- System.out.print(szelveny[i] + " ");
- }
- System.out.println();
- }
- static void megold5b() {//számtömb
- int[] szelveny = new int[5];//0-4
- int joSzamDb = 0;
- while (joSzamDb < szelveny.length) {
- int tipp = (int) (Math.random() * 90 + 1);
- int i = 0;
- // int db = 0;
- while (i < joSzamDb && !(szelveny[i] == tipp)) {
- // db++;
- i++;
- }
- // System.out.println(db);
- boolean van = (i < joSzamDb);//találtam egyezést ha nem tudtam joSzamDb ig elszámolni az i -vel
- if (!van) {// ha nem találtam egyezést akkor beírom a listába és lépek a lista indexével(joSzamDb)
- szelveny[joSzamDb] = tipp;
- joSzamDb++;
- }
- }
- // Arrays.sort(szelveny);
- // közvetlen cserés sorbarendezés:
- for (int i = 0; i < szelveny.length - 1; i++) {
- for (int j = i + 1; j < szelveny.length; j++) {
- if (szelveny[i] > szelveny[j]) {
- int csere = szelveny[i];
- szelveny[i] = szelveny[j];
- szelveny[j] = csere;
- }
- }
- }
- for (int i = 0; i < szelveny.length; i++) {
- System.out.print(szelveny[i] + " ");
- }
- System.out.println();
- }
- static void megold6() {
- List<Integer> szelveny = new ArrayList<>();
- while (szelveny.size() < 5) {
- int tipp = (int) (Math.random() * 90 + 1);
- if (szelveny.indexOf(tipp) == -1) {//!szelveny.contains(tipp)
- szelveny.add(tipp);//autoboxing int -> Integer
- }
- }
- Collections.sort(szelveny);
- // for (Integer szam : szelveny) {
- // System.out.print(szam + ", ");
- // }
- // System.out.println();
- // for (int i = 0; i < szelveny.size(); i++) {
- // System.out.print(szelveny.get(i) + ", ");
- //
- // }
- // System.out.println();
- // System.out.println();
- System.out.println(szelveny);
- }
- static void megold7() {
- Set<Integer> szelveny = new HashSet<>();
- while (szelveny.size() < 5) {
- szelveny.add((int) (Math.random() * 90 + 1));
- }
- // System.out.println(szelveny);
- for (Integer szam : szelveny) {
- System.out.print(szam + ", ");
- }
- System.out.println();
- }
- static void megold8() {
- Set<Integer> szelveny = new TreeSet<>();//a kimenet sorba rendezett, de ne sorban tárolja
- while (szelveny.size() < 5) {
- szelveny.add((int) (Math.random() * 90 + 1));
- }
- System.out.println(szelveny);
- }
- static void megold9() {
- int sorszam=0;
- final int MAX_DB = 1000;
- for (int db = 1; db <= MAX_DB; db++) {
- // while(sorszam<1000) {
- // for (int db = 1; db <= 10; db++) {
- // for (int i = 0; i <= 5; i++) {
- // int a = (int) (Math.random() * 90 + 1);
- // System.out.print(a+"\t");
- // megold6();
- // }
- // System.out.println(Math.random()<0.5?'i':'n');
- // System.out.println();
- List<Integer> lista = new ArrayList<>();
- while (lista.size() < 5) {
- int tipp = (int) (Math.random() * 90 + 1);
- lista.add(tipp);//autoboxing int -> Integer
- }
- Set<Integer> halmaz=new HashSet<>(lista);
- if(halmaz.size() == 5) {//(true) {
- Collections.sort(lista);
- // System.out.println(/*db*/++sorszam+". szelveny: "+lista);
- ++sorszam;
- // System.out.println(lista+"\t"+(halmaz.size()==5?'i':'n')); //"\ti");
- }
- // else
- // System.out.println("x");
- // Collections.sort(lista);
- // System.out.println(lista);
- }
- System.out.println(MAX_DB+" db számsorozatból "+sorszam+" db tekinthető lottoszelvenynek.");
- }
- static void megold10() {
- // String s="";
- // System.out.println(s);
- // String s ="13";
- // s+=", 15";
- // System.out.println(s);
- // String s=";13;15;32;3;79;";
- String s=";";
- // int tipp=(int)(Math.random()*90+1);
- // s+=tipp+";";
- int joSzamDb=0;
- while(joSzamDb<5) {
- int tipp=(int)(Math.random()*90+1);
- if(!s.contains(";"+tipp+";")) {
- // System.out.println("s1: "+s);
- s+= tipp+";";
- // System.out.println("s2: "+s);
- joSzamDb++;
- }
- // else {
- // System.out.println("ismetlodes: "+tipp);
- // }
- }
- // System.out.println(s);
- String[] ds=s.split(";");
- // System.out.println(ds.length);
- // int[] szelveny={Integer.parseInt(ds[1]), Integer.parseInt(ds[2]), Integer.parseInt(ds[3]),
- // Integer.parseInt(ds[4]), Integer.parseInt(ds[5])};
- int [] szelveny=new int[5];
- for (int i = 0; i < szelveny.length; i++)
- szelveny[i]=Integer.parseInt(ds[i+1]);
- Arrays.sort(szelveny);
- for (int i = 0; i < szelveny.length; i++)
- System.out.print(szelveny[i]+", ");
- System.out.println();
- }
- public static void main(String[] args) {
- System.out.println("Ötöslottó-szelvény (több változatban)");
- // System.out.println("Hello világ");
- // System.err.println("hiba:Hello világ");
- // megold2();
- // megold3();
- // megold4();
- // megold5();
- // megold5b();
- // megold6();
- // megold7();
- // megold8();
- // megold9();
- // megold10();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement