Программа проверки/калькулятора Java ISBN, как решить?

Я делаю домашнее задание и буквально застрял на 5 часов для этого конкретного вопроса.

Последняя цифра d10 является контрольной суммой, которая рассчитывается из остальных девяти цифр по следующей формуле: (d1*1 + d2*2 + d3*3+ d4*4 + d5*5 + d6*6 + d7*7 + d8*8 + d9*9) % 11; Если контрольная сумма равна 10, последняя цифра обозначается X в соответствии с соглашением ISBN.

Напишите программу, которая предлагает пользователю ввести первые 9 цифр и отображает 10-значный ISBN (включая ведущие нули). Ваша программа должна считывать ввод как целое число. Например, если вы введете 013601267, программа должна отобразить 0136012671. Если пользователь пропустит начальные нули, программа должна продолжить, добавив начальные нули. Например, если вы введете 12345, программа должна отобразить «Правильный номер ISBN: 0000123455».

Я использовал циклы, переключатель и все такое, но с моими знаниями я не смог это решить. Я могу рассчитать d10, но проблема в том.. 1) Я не понимаю, как можно рассчитать 013601267, потому что это не 0 1 3 6 ... Поскольку я использую объект сканера, я понятия не имею, как действовать дальше. 2) И я не могу понять, как добавить ведущие нули.

Если у кого-то есть ответ на эту проблему, или кто-то может мне посоветовать, пожалуйста, помогите мне!


person Eugene Pi    schedule 25.02.2013    source источник
comment
Можете ли вы показать, что вы сделали до сих пор? Ваш код?   -  person knowbody    schedule 25.02.2013


Ответы (1)


Сначала проанализируйте ввод в файл String.

Затем выполните цикл по String и добавьте каждый символ (в форме int, выполняя необходимые вычисления) в переменную суммы типа int. (Умножьте на индекс каждого char + 1.)

Наконец, сделайте модуль. Затем, если результат равен 10, добавьте X к строке ISBN; в противном случае добавьте результат операции модуля.

Изменить: чтобы добавить нули, подсчитайте количество символов в форме String ISBN, затем добавьте к этому количеству нулей - 9 в начале ISBN.

Надеюсь это поможет!!

person ameed    schedule 25.02.2013