Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> задача "спортлотто 6 из 49" 
:(
    Опции темы
argamidon
  Дата 23.11.2012, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 2.12.2011

Репутация: нет
Всего: нет



была поставлена задача:
- Необходимо создать симуляцию на подобии спортлото «6 из 49» 
- В каждом розыгрыше вытягиваются 6 цифр 
- Игрок тоже задает 6 цифр 
- Если три цифры игрока совпадают с тремя из розыгрыша, то у игрока «Тройка», аналог «Четверка», «Пятерка», «Шестерка» 
- Программа проводит 100.000 розыгрышей, и необходимо протоколировать количество «троек», «четверок», «пятерок», «шестерок» 
В консоле необходимо выдать следующее: 

Тройка:     1.598 
Четверка:     105 
Пятерка:     1 
Шестерка:     0
1: 12.190 раз    2: 12.279 раз 3: 12.092 раз    4: 12.348 раз    5: 12.215 раз     6: 11.955 раз    7: 12.365 раз ...... 49: 11.256 раз 


я вроде решил но хочу знать что подправить что удалить что добавить. smile 
файл App.java
Код

package pack1;

public class App {

    public static void main(String[] args) {
        int gamerNums[] = new int[]{1, 2, 3, 4, 5, 6};
        final int QUANTITY = 100_000;
        Hoax hoax = new Hoax(gamerNums, QUANTITY);
        hoax.printResult();
    }
}


файл Hoax.java
Код

package pack1;

import java.util.Random;

public class Hoax {

    private int triple = 0;
    private int quadruple = 0;
    private int penta = 0;
    private int hex = 0;
    private int gamerNums[];
    private int lottoNums[];
    private int res[] = new int[49];
    private int quantity;
    private Compare compare;

    Hoax(int gamerNums[], int quantity) {
        this.quantity = quantity;
        this.gamerNums = gamerNums;
        this.lottoNums = new int[this.gamerNums.length];
        compare = new Compare(this.gamerNums);
        playHoax();
    }

    private void playHoax() {
        int temp;
        boolean g;
        Random r = new Random();
        for (int i = 0; i < quantity; i++) {
            clearArr();
            for (int j = 0; j < lottoNums.length;) {
                temp = r.nextInt(49) + 1;
                g = checkTemp(temp);
                if (g) {
                    continue;
                } else {
                    lottoNums[j] = temp;
                    res[temp - 1]++;
                }

                j++;
            }
            calcWins();
        }
    }

    private boolean checkTemp(int temp) {
        boolean g = false;
        for (int i = 0; i < lottoNums.length; i++) {
            if (temp == lottoNums[i]) {
                g = true;
                break;
            }
        }
        return g;
    }

    private void clearArr() {
        for (int i = 0; i < lottoNums.length; i++) {
            lottoNums[i] = 0;
        }
    }

    private void calcWins() {
        int win = compare.CompareGamerTo(lottoNums);
        switch (win) {
            case 3: {
                triple++;

                break;
            }
            case 4: {
                quadruple++;
                break;
            }
            case 5: {
                penta++;
                break;
            }
            case 6: {
                hex++;
                break;
            }
        }
    }

    public void printResult() {
        System.out.println("тройка " + triple);
        System.out.println("Четверка " + quadruple);
        System.out.println("пятерка " + penta);
        System.out.println("шестерка " + hex);

        for (int i = 0; i < res.length; i++) {
            System.out.print(i + 1 + ": " + res[i] + " раз ");
        }
    }
}


файл Compare.java
Код

package pack1;

public class Compare {

    private final int gamerNums[];
    private int result = 0;

    Compare(int gamerNums[]) {
        this.gamerNums = gamerNums;
    }

    public int CompareGamerTo(int lottoNums[]) {
        result = 0;
        for (int i = 0; i < this.gamerNums.length; i++) {
            for (int j = 0; j < this.gamerNums.length; j++) {
                if (lottoNums[i] == gamerNums[j]) {
                    result++;
                }
            }
        }
        return result;
    }
}


PM MAIL   Вверх
argamidon
Дата 26.11.2012, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 2.12.2011

Репутация: нет
Всего: нет



ап
PM MAIL   Вверх
Veseliy6
  Дата 29.11.2012, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 29.11.2012

Репутация: нет
Всего: нет



 smile 
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0633 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.