Подсчитайте число и начните с 1 снова - PullRequest
0 голосов
/ 08 февраля 2019

Я долго думал над решением, но я не нашел решения, которое могло бы решить мою проблему:

Объяснение: У меня есть переменная x.x - это идентификационный номер от 1 до 99 в моей базе данных оракула. ​​

После заполнения формы я вставляю до максимум 8 строк в мою базу данных (потому что у меня есть динамические текстовые поля, и поэтому я вставляю от 1 строки до 8жгуты).Теперь я хочу посчитать x до 99, и после того, как он достигнет 99, он должен снова начинаться с 1.

Проблема в том, что я вставляю следующую строку:

Row1: Insert (text, 97) (97 is the ID)
Row2: Insert (text, 98) (98 is the ID)
Row3: Insert (text, 99) (99 is the ID)
Row4: Insert (text, 100) (100 is the ID) now here is the problem, it should begin at 1 again and insert 1.
Row5: Insert (text, 101) (101 is the ID) should be 2.
...

Я надеюсь, что кто-толегко знает решение.

Большое спасибо

1 Ответ

0 голосов
/ 08 февраля 2019

Чтобы взять остаток от деления, вы можете использовать оператор модуля %.Но это лучше всего работает с последовательностями, которые начинаются с 0. Поэтому, если вы отобразите свой ´x´ с 1-99 на 0-98, вычитая 1, вы можете взять модуль и взять остаток от деления на 99. Затем вы можете отобразитьвернуться к 1-99, добавив 1 снова.Таким образом, утверждение становится

int id = (x - 1) % 99 + 1; 

Редактировать: Не совсем уверен, что вы имеете в виду в своем вопросе.Но если вы возьмете значение x, равное 102, тогда идентификатор становится равным 3. Он делает это, сначала вычитая 1, то есть 101. Затем он берет остаток при делении на 99. Это 2. И затем он снова добавляет 1, так чтостановится 3. Таким образом, идентификатор, который соответствует значению х 102, равен 3.

...