Created
May 9, 2020 13:56
-
-
Save olegrewko/0800d6879b747cf6557b63ad2084b2cb to your computer and use it in GitHub Desktop.
Ипподром
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package IgorDolgov.ippodrom; | |
| import java.util.ArrayList; | |
| import java.util.Arrays; | |
| import java.util.Random; | |
| import java.util.Scanner; | |
| public class Totalizator { | |
| //Метод сортировки массива от max к min | |
| private static int[] sortMaxMin (int[] array) { | |
| for (int i = 0; i < array.length - 1; i++) { | |
| for (int j = i + 1; j < array.length; j++) { | |
| if (array[i] < array[j]) { | |
| int temp = array[i]; | |
| array[i] = array[j]; | |
| array[j] = temp; | |
| } | |
| } | |
| } | |
| return array; | |
| } | |
| //Метод randomArrayGenerator(n, m); выводит n-ое кол-во случайных чисел от 0 до m | |
| //Метод генерации (int arrayLength) - случайных чисел от 0 до (int upperBound) | |
| private static int[] randomArrayGenerator (int arrayLength, int upperBound) { | |
| int[] array = new int[arrayLength]; | |
| Random random = new Random(); | |
| for (int i = 0; i < array.length; i++) { | |
| array[i] = random.nextInt(upperBound); | |
| } | |
| return array; | |
| } | |
| public static void main (String[] args) { | |
| System.out.println("Тусклая жизнь нормального, среднего человека хуже, чем смерть.Ч.Буковски"); | |
| System.out.println("Виды игр на тотализаторе Чарлзу Буковски посвящаю эту программу"); | |
| System.out.println("Лошади и номера участвующие в 13 забегах на 5 фарлонгов(1942г Лос-Анжелес ипподром Голливуд Парк"); | |
| ArrayList<String> horses = new ArrayList<>(); | |
| horses.add("[0]Быстрый"); | |
| horses.add("[1]Умный"); | |
| horses.add("[2]Серый"); | |
| horses.add("[3]Круг"); | |
| horses.add("[4]Сухой"); | |
| System.out.println(horses); | |
| System.out.println("#1 Одинар 3 Необходимо указать победителя в трех заездах подряд"); | |
| System.out.println("#2 Дважды-два Необходимо указать по две лошади первую и вторую в двух заездах подряд"); | |
| System.out.println("#3 Парный Необходимо указать две первые лошади в одном заезде независимо от их последовательности прихода к финишу"); | |
| System.out.println("#4 Экспресс-4 Необходимо указать победителя, второго, третьего и четвертого призеров обязательно по порядку прихода к финишу"); | |
| System.out.println("#5 5-Побед Необходимо указать победителя в пяти заездах подряд"); | |
| System.out.println(); | |
| System.out.println("Выберите вид игры: введите от одной до пяти цифр [1-5]через пробел"); | |
| Scanner scanner = new Scanner(System.in); | |
| String userInput = scanner.nextLine(); | |
| String[] bloksInput = userInput.split(" "); | |
| System.out.println(Arrays.toString(bloksInput)); | |
| for (int i = 0; i < bloksInput.length; i++) { | |
| switch (bloksInput[i]) { | |
| case "1": | |
| System.out.println("#1 Одинар 3: Необходимо указать победителя в трех заездах подряд"); | |
| System.out.println("#1 Одинар 3: Введите порядковый номер лошади [0-4]"); | |
| int odinar3 = scanner.nextInt(); | |
| System.out.println(odinar3); | |
| break; | |
| case "2": | |
| System.out.println("#2 Дважды-два: Введите два порядковых номера призеров в двух заездах подряд через пробел [0-4] [0-4] [0-4] [0-4]"); | |
| int[] a = new int[4]; | |
| a[0] = scanner.nextInt(); | |
| a[1] = scanner.nextInt(); | |
| a[2] = scanner.nextInt(); | |
| a[3] = scanner.nextInt(); | |
| System.out.println(Arrays.toString(a)); | |
| break; | |
| case "3": | |
| System.out.println("#3 Парный: Укажите две первые лошади в одном заезде независимо от их последовательности прихода к финишу [0-4] [0-4]"); | |
| int[] p = new int[2]; | |
| p[0] = scanner.nextInt(); | |
| p[1] = scanner.nextInt(); | |
| System.out.println(Arrays.toString(p)); | |
| break; | |
| case "4": | |
| System.out.println("#4 Экспресс-4 Необходимо указать победителя, второго, третьего и четвертого призеров" + | |
| " обязательно по порядку прихода к финишу в одном заезде [0-4] [0-4] [0-4] [0-4]"); | |
| int[] exp4 = new int[4]; | |
| exp4[0] = scanner.nextInt(); | |
| exp4[1] = scanner.nextInt(); | |
| exp4[2] = scanner.nextInt(); | |
| exp4[3] = scanner.nextInt(); | |
| System.out.println(Arrays.toString(exp4)); | |
| break; | |
| case "5": | |
| System.out.println("#5 5-Побед Необходимо указать победителя в пяти заездах подряд [0-4]"); | |
| int victory5 = scanner.nextInt(); | |
| System.out.println(victory5); | |
| break; | |
| } | |
| } | |
| IppodromPlay(); | |
| } | |
| public static void IppodromPlay () { | |
| //racetrack - кол-во заездов на ипподроме | |
| int racetrack = 14; | |
| int numOfHorses = 5;//Кол-во лошадей в забеге фиксированная величина для увеличения добавить переменные a, b и hint_a | |
| for (int n = 0; n < racetrack; n++) { | |
| int[] array01 = randomArrayGenerator(numOfHorses, 1750); | |
| // System.out.println(Arrays.toString(array01)); | |
| ArrayList<Integer> arrayL1 = new ArrayList<>(); | |
| for (int i = 0; i < numOfHorses; i++) { | |
| arrayL1.add(array01[i]); | |
| } | |
| // System.out.println(arrayL1); | |
| int[] sortedArray01 = sortMaxMin(array01); | |
| // System.out.println(Arrays.toString(sortedArray01)); | |
| ArrayList<Integer> arrayLsorted01 = new ArrayList<>(); | |
| for (int i = 0; i < 5; i++) { | |
| arrayLsorted01.add(sortedArray01[i]); | |
| } | |
| // System.out.println(arrayLsorted01); | |
| int a = arrayLsorted01.get(0); | |
| int b = arrayLsorted01.get(1); | |
| int c = arrayLsorted01.get(2); | |
| int d = arrayLsorted01.get(3); | |
| int e = arrayLsorted01.get(4); | |
| int hint_a = arrayL1.indexOf(a); | |
| int hint_b = arrayL1.indexOf(b); | |
| int hint_c = arrayL1.indexOf(c); | |
| int hint_d = arrayL1.indexOf(d); | |
| int hint_e = arrayL1.indexOf(e); | |
| int[] hintArray = new int[]{hint_a, hint_b, hint_c, hint_d, hint_e}; | |
| System.out.println(Arrays.toString(hintArray) + " --------- Результат " + n + " заезда"); | |
| } | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment