Чтение онлайн

ЖАНРЫ

Основы программирования с Java
Шрифт:

Штрих-технологии были разработаны в 1960-х годах и получили коммерческий успех, так как они широко используются в автоматизированных кассовых системах, таких как те, что используются в супермаркетах.

Я хочу отметить, что в следующем примере, мы используем абстракцию данных для работы со штрих-кодом.

То есть, нам нужно только знать, что штрих-код представляет собой число в виде серии цифр и считыватель штрих-кода будет способен декодировать штрих-код и ввести число в компьютер.

Как это на самом деле сделано или реализовано – не важно для пользователя.

Можно рассматривать его таким же образом, как номера

на клавиатуре.

Эта программа здесь показывает, что простая арифметика может быть применена к числовым значениям, представленным с использованием штрих-кодов.

Программа начинается с импорта класса IO из пакета comp102x.

В дополнение к выполнению операций ввода/вывода от стандартных устройств ввода и вывода, класс IO может также принимать входные и выходные данные как штрих-код.

Этот пример, иллюстрирующий, что, когда используется компьютер, тогда не важно, получены ли входные данные от пользователя через клавиатуру или с помощью штрих-кода.

Подробное представление не важно до тех пор, пока для программы обеспечены методы декодирования информации.

Как и прежде, программа получает имя класса, в данном случае BarcodeDemo, и метод main как главную точку входа в программу.

Первая часть тела программы принимает два штрих-кода в качестве входных данных с помощью метода inputBarcode от класса IO.

Чуть позже вы увидите в демо программе, что вместо ввода числа с помощью клавиатуры, пользователю будет предложено выбрать изображение штрих-кода, которое представляет некоторое число из существующего файла.

Числа затем будут расшифрованы и присвоены переменным value1 и value2.

Это похоже на использование inputInteger или inputDouble, если входные данные должны были быть введены с консоли.

Цифры, введенные с клавиатуры, по-прежнему должны быть декодированы перед присвоением в соответствующие переменные.

Обратите внимание, что здесь мы используем тип long, потому что штрих-коды могут представлять очень большие числа, которые могут быть вне диапазона типа int.

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

Два IO.outputln объявления здесь выводят значения, представленные двумя штрих-кодами.

Значения можно обрабатывать так же, как числа, представленные в других примитивных типах в Java, и арифметические операции, такие как сложение и умножение, могут быть применены к этим числам.

В этом случае, результаты операций будут присвоены переменным addResult и multResult с примитивным целочисленным типом данных long снова, потому что штрих-коды могут представлять очень большие числа.

И результаты арифметических операций распечатываются для просмотра.

Кроме того, результаты могут также быть выведены в виде штрих-кода, используя метод outputBarcode для класса IO.

В этом случае штрих-код будет создан для значения addResult и сохранится в выходном файле.

Демонстрация примера

Прежде чем продемонстрировать программу штрих-кодов, давайте сначала посмотрим на некоторые образцы штрих-кодов.

Эти

штрих-коды хранятся в виде файлов изображений.

Первый из них сфотографировали с обложки книги с помощью камеры сотового телефона.

Вы можете увидеть, что качество не очень хорошее.

Второй сгенерирован компьютером, и мы не можем сказать, какие числа этот штрих-код представляет без помощи считывателя штрих-кодов.

Третий штрих-код представляет собой число с цифрами от 0 до 9.

Обратите внимание, что эти штрих-коды разных размеров и качества.

Теперь мы можем открыть проект BarcodeDemo.

Вы можете видеть, что это та же программа, которую мы только что обсуждали.

Программа составлена без ошибок.

Мы можем запустить программу, нажав кнопку Run.

Теперь вы можете увидеть, что появилось окно диалога, которое запрашивает местоположение первого изображения штрих-кода.

Это происходит при выполнении метода inputBarcode.

Давайте выберем barcode1 в качестве первого штрих-кода.

Затем программа запрашивает второй штрих-код при втором вызове inputBarcode.

Давайте выберем barcode2.

И вы можете видеть, что значения штрих-кодов отображаются в окне консоли.

Значение первого штрих-кода огромное число из 12 цифр.

Второй штрих-код является небольшим числом со значением 2.

Легко проверить, что сумма двух штрих-кодов отображается здесь правильно.

Вы также можете проверить, что результат умножения также должен быть правильным.

Обратите внимание, что мы еще не сделали – есть еще всплывающее окно, которое запрашивает имя файла.

Это потому, что последнее выражение в программе, outputBarcode выводит штрих-код со значением addResult в изображение штрих-кода.

Давайте использовать название b1 в качестве выходного файла.

Теперь программа завершается.

< image l:href="#"/>

Если вы проверите папку проекта, вы увидите, что есть файл с именем b1, и вы сможете увидеть, что это штрих-код, но мы не можем сказать его значение, просто взглянув на изображение.

Нет проблем, давайте попробуем еще раз запустить программу.

На этот раз, давайте использовать b1 качестве первого изображения штрих-кода и использовать barcode2 как второй штрих-код, как и раньше.

Вы можете видеть, что значение первого штрихкода теперь то же самое, как значение addResult в предыдущем выполнении программы.

Поделиться с друзьями: