Генератор автомобильных номеров java

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.txt

Цель задания Научиться сортировать и искать элементы в коллекциях. Что нужно сделать Выполните задание в 09_NumbersStringsAndDates/homework_9.5/CoolNumbers 1. Реализуйте метод генерации «красивых» автомобильных номеров generateCoolNumbers() в классе CoolNumbers. Используйте следующие правила генерации номеров: XYZ — различный набор из списка разрешенных букв, N — цифры, R — регион (от 01 до 199); XNNNYZR — пример: A111BC197, У777HC66. В госномерах автомобилей в РФ используются следующие буквы: А, В, Е, К, М, Н, О, Р, С, Т, У, Х В коллекции должно быть не менее 2 млн номеров. 2. Реализуйте методы поиска класса CoolNumbers по поиску номеров в каждой коллекции: прямым перебором по ArrayList, бинарным поиском по сортированному ArrayList, поиском в HashSet, поиском в TreeSet. 3. Измерьте и выведите длительность каждого метода поиска. Формат вывода результатов поиска: Поиск перебором: номер найден/не найден, поиск занял 34нс Бинарный поиск: номер найден/не найден, поиск занял 34нс Поиск в HashSet: номер найден/не найден, поиск занял 34нс Поиск в TreeSet: номер найден/не найден, поиск занял 34нс 4. Напишите в форме ответа, какой поиск — самый быстрый, а какой — самый медленный. (Ответ: При поиске первого добавленного элемента время поиска описанными методами примерно одинаковое, а в остальных случаях самый быстрый - HashSet, самый медленный - ArrayList).

Источник

Читайте также:  Особенности цикла while python

Генератор крутых номеров

Ищем крутых Java Team Lid!
Ищем двух крутых Java team lead! Одна ставка в российской команде (Нижний Новгород), вторая в.

Задачка для крутых ребят по TreeView. Срочно.
Задачка! Заполнить компонент tv: TTreeView строками текстового файла. Содержимое файла выглядит.

Посоветуйте крутых книг по DIY, _не_ электронике
Я тут понял, что мне нужно как-то делать корпуса для DYY электроники. В будущем, возможно, колеса.

Лучший ответ

Сообщение было отмечено 3vik как решение

Решение

3vik, Для одного региона у меня получается 15.780 (прога просит в начале ввести регион). То есть для 199 регионов получится 3.140.200

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
import java.io.File; import java.io.FileNotFoundException; import java.io.PrintStream; import java.util.Arrays; import java.util.Scanner; public class Start { public static void main(String[] args) { String[] bukvy = {"С", "М", "Т", "В", "А", "Р", "О", "Н", "Е", "У", "Х", "К"}; Arrays.sort(bukvy); System.out.print("Введите регион (1..199): "); Scanner in = new Scanner(System.in); int region = in.nextInt(); try { System.setOut(new PrintStream(new File("Output.txt"))); } catch (FileNotFoundException e) { e.printStackTrace(); } //одинаковые буквы for (int i = 0; i  bukvy.length; i++) { //первые 2 нуля for (int j = 1; j = 10; j++) { System.out.printf("%s%03d%s%02d\n", bukvy[i], j, bukvy[i] + bukvy[i], region); } //буквы и цифры for (int j = 111; j = 999; j += 111) { System.out.printf("%s%03d%s%02d\n", bukvy[i], j, bukvy[i] + bukvy[i], region); } } //одинаковые цифры for (int i = 111; i = 999; i += 111) { for (int j = 0; j  bukvy.length; j++) { for (int j2 = 0; j2  bukvy.length; j2++) { for (int k = 0; k  bukvy.length; k++) { System.out.printf("%s%03d%s%02d\n", bukvy[j], i, bukvy[j2] + bukvy[k], region); } } } } in.close(); } }

Источник

ArrayList, генерация регистрационных номеров автомобилей

Всем привет! Господа, помогите разобраться, почему из цикла в список добавляется только один элемент, а не все возможные?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
import java.util.*; public class Main { public static void main(String[] args) { String[] letters = {"C", "M", "T", "B", "A", "P", "O", "H", "E", "Y"}; for (int i = 0; i  letters.length; i++) { for (int j = 0; j  10; j++) { for (int k = 1; k  199; k++) { String letter = letters[i]; String region = String.valueOf(k); if (k  10){region = "0"+region;} String number = String.format("%s%d%d%d%s%s%s", letter, j, j, j, letter, letter, region); ArrayListString> list = new ArrayList<>(); list.add(number); for (int l = 0; l  list.size(); l++) { System.out.println(list.get(l)); } Collections.sort(list); HashSetString> set = new HashSet<>(list); TreeSetString> set1 = new TreeSet<>(list); while (true) { Scanner scanner = new Scanner(System.in); String stateNumber = scanner.nextLine(); long a = System.nanoTime(); if (list.contains(stateNumber)) { System.out.println("Поиск перебором: номер найден, поиск занял: " + (System.nanoTime() - a) + "нс"); } else { System.out.println("Поиск перебором: номер не найден, поиск занял: " + (System.nanoTime() - a) + "нс"); } long b = System.nanoTime(); if (Collections.binarySearch(list, stateNumber) == 0) { System.out.println("Бинарный поиск: номер найден, поиск занял: " + (System.nanoTime() - b) + "нс"); } else { System.out.println("Бинарный поиск: номер не найден, поиск занял: " + (System.nanoTime() - b) + "нс"); } long c = System.nanoTime(); if (set.contains(stateNumber)) { System.out.println("Поиск в HashSet: номер найден, поиск занял: " + (System.nanoTime() - c) + "нс"); } else { System.out.println("Поиск в HashSet: номер не найден, поиск занял: " + (System.nanoTime() - c) + "нс"); } long d = System.nanoTime(); if (set1.contains(stateNumber)) { System.out.println("Поиск в TreeSet: номер найден, поиск занял: " + (System.nanoTime() - d) + "нс"); } else { System.out.println("Поиск в TreeSet: номер не найден, поиск занял: " + (System.nanoTime() - d) + "нс"); } } } } } } }

Генерация и проверка на работоспособность ключей активации (регистрационных ключей)
Помогите придумать как можно осуществить сие деяние. Суть заключается в чем, первая программа.

Программа для распознавания номеров автомобилей с видео
Привет всем 🙂 Мне стало интересно, реально ли написать программу для поиска номеров машин в видео.

Распознавание номеров автомобилей: как определить положение номера на картинке
Всем привет. Вот начел изучать о компютерном зрении. И тут заинтересовала проект о "Распознавание.

Delphi и Excel. Генерация номеров и выгрузка в txt
Добрый. Имею таблицу excel, которая содержит диапазон значений вида 000001-001000, следом.

Источник

как сделать генератор автомобильного номера?

нужно сделать генератор автомобильных номеров в таком формате:

XYZ - различные буквы, N - цифры, R - регион (от 01 до 199) XNNNYZR - пример, A111BC197, Y777HC66 

получилось только вот так:

public class Main < public static void main(String[] args) < String[] chars = new String[]; for (int i = 0; i < chars.length; i++) < for (int j = 1; j < 10; j++) < String currChar = chars[i]; String number = String.format("%s(%d%d%d)(%s%s)(%d%d%d)", currChar, j, j, j, currChar, currChar, j, j,j); System.out.println(number); >> > > 
А(111)(АА)(111) А(222)(АА)(222) А(333)(АА)(333) А(444)(АА)(444) А(555)(АА)(555) А(666)(АА)(666) А(777)(АА)(777) А(888)(АА)(888) А(999)(АА)(999) В(111)(ВВ)(111) В(222)(ВВ)(222) В(333)(ВВ)(333) В(444)(ВВ)(444) В(555)(ВВ)(555) В(666)(ВВ)(666) В(777)(ВВ)(777) В(888)(ВВ)(888) etc 

пожалуйста, помогите кто чем может)

Ответы (2 шт):

Прям все комбинации перебрать надо? Можно вот так, например:

IntStream.range(1, 200).forEach( region -> Arrays.stream(chars).forEach( letterA -> Arrays.stream(chars).forEach( letterB -> Arrays.stream(chars).forEach( letterC -> IntStream.range(1, 1000).forEach( num -> System.out.println(String.format("%s %03d %s%s %03d", letterA, num, letterB, letterC, region)) ) ) ) ) ); 

Я попробовал решить так. Проверил, совпадений в этом «листе» нет.

 ArrayList coolNumbersList = new ArrayList<>(); ArrayList coolNumbersListWithoutRegion = new ArrayList<>(); String numberplate = ""; String numberplateWithoutRegion = ""; char x; // первая буква char z; // вторая буква char y; // третья буква ArrayList allowedLetters = new ArrayList<>()>; for(Character firstLetter : allowedLetters) < x = firstLetter; for (int n = 0; n < 10; n++)< for (Character secondLetter : allowedLetters)< z = secondLetter; for(Character thirdLetter : allowedLetters)< y = thirdLetter; numberplateWithoutRegion = String.format("%c%d%d%d%c%c", x, n, n, n, z, y); coolNumbersListWithoutRegion.add(numberplateWithoutRegion); >> > > for (String numberWithoutRegion : coolNumbersListWithoutRegion) < for (int j = 0; j else < numberplate = String.format("%s%d", numberWithoutRegion, j); coolNumbersList.add(numberplate); >> > return coolNumbersList; > 

Источник

Оцените статью