|
27 / 19 / 8
Регистрация: 08.06.2015
Сообщений: 491
|
||||||
Недопустимое выражение при делении по модулю22.02.2019, 18:52. Показов 2423. Ответов 18
Метки нет (Все метки)
Здравствуйте,
хочу вернуть булево значение, если при (a%11)==0, но компилятор сопротивляется. Говорит, мол, "unreachable statement". Подскажите, пожалуйста.
0
|
||||||
| 22.02.2019, 18:52 | |
|
Ответы с готовыми решениями:
18
Вложенный цикл. Найти трехзначные числа, которые при делении на 2 дают остаток 1, при делении на 3 остаток 2, при делении на 4 остаток 3
Определить произведение элементов, которые при делении на 2 дают такой же остаток как и при делении на 3. |
|
2736 / 2046 / 506
Регистрация: 17.02.2014
Сообщений: 9,462
|
|
| 22.02.2019, 18:58 | |
|
так и возвращай
return (a%11)==0; вместо строк 19-22throw new IllegalArgumentException(); к чему у тебя?
0
|
|
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
|
| 22.02.2019, 18:59 | |
Сообщение было отмечено Сергей Кос как решение
Решение
Сергей Кос, у тебя переменная 'a' проинициализирована нулем, дальнейшие с ней действия происходят в if, т.е. может ничего и не произойти. Вот компилятор и ругается на возможность
0%11
1
|
|
|
27 / 19 / 8
Регистрация: 08.06.2015
Сообщений: 491
|
|||
| 22.02.2019, 19:01 [ТС] | |||
|
Добавлено через 1 минуту
0
|
|||
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
|
| 22.02.2019, 19:10 | |
|
Сергей Кос, кстати, не в этом дело.
А дело в том, что перед int b = a%11; ты выбрасываешь исключение.Добавлено через 4 минуты Напиши-ка словами, что ты хочешь сделать
1
|
|
|
27 / 19 / 8
Регистрация: 08.06.2015
Сообщений: 491
|
||
| 22.02.2019, 19:24 [ТС] | ||
|
Добавлено через 3 минуты По условию задачи, индивидуальные книжные номера ISBN для какой-то там расшифровки умножаются поочередно на 10, 9, 8, 7 и т.д. Если вся эта сумма делится на 11 без остатка, то книжный номер считается годным. Если встречается тире, то он исключается из рассчета, а если Х, то это десятка. Также по условию я должен вплести сюда исключение. А оно у меня не вплетается
0
|
||
|
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
|
||||||
| 22.02.2019, 19:33 | ||||||
|
Добавлено через 2 минуты
если ты не работаешь с многопоточностью, то используй StringBuilder (StringBuilder и StringBuffer идентичны по методам, но StringBuffer имеет синхронизированные методы что замедляет его работу в отличии от sb. Ну если ты работаешь с многопоточностью, то выбор правильный) зачем ты вообще выбрасываешь исключение? какой в нём толк? разъясни свою задумку Добавлено через 1 минуту
1
|
||||||
|
27 / 19 / 8
Регистрация: 08.06.2015
Сообщений: 491
|
|
| 22.02.2019, 19:37 [ТС] | |
|
ArtemFM,
да, вот без исключения работает. Университетская задача, нужно прикрутить сюда IllegalArgumentException. Зачем, я тоже не в курсе. По мне, так главное, чтобы работало)) Добавлено через 3 минуты Вот: "StringBuffer объект должен содержать ровно 10 цифр, в противном случае, выбросьте исключение IllegalArgumentException"
0
|
|
|
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
|
||||||||||||||||||||||||||
| 22.02.2019, 19:51 | ||||||||||||||||||||||||||
Сообщение было отмечено Сергей Кос как решение
Решение
в условии ошибся... Вот правильный вариант:
вот итоговый твой код:
для теста я посылал такие значения:
1
|
||||||||||||||||||||||||||
|
27 / 19 / 8
Регистрация: 08.06.2015
Сообщений: 491
|
|
| 22.02.2019, 19:57 [ТС] | |
|
ArtemFM,
Благодарю) а я всё по учебнику пытаюсь этот throw без условия впихнуть, теперь вижу, как это работает)) Супер!
0
|
|
|
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
|
|
| 22.02.2019, 19:57 | |
|
погоди, sb должен содержать 10цифр...
а он может содержать ещё что-то? потому что если он заведомо может содержать лишь цифры, то зачем вот это?: sb.charAt(i) == 'X'
0
|
|
|
27 / 19 / 8
Регистрация: 08.06.2015
Сообщений: 491
|
|
| 22.02.2019, 20:08 [ТС] | |
|
ArtemFM,
последний знак может принимать значения от 0 до 10, и десятку отмечают Х, я ее просто обратно с римских на арабские перевожу. Кроме цифр могут быть тире. Но тут я просто добавлю, чтобы прошел еще один цикл проверки на количество цифр: не важно сколько тире, главное, чтобы число цифр было 10. Или думаю, так как j должно быть не больше и не меньше 10, то лучше мне тут построить условие для выбрасывания исключения. Тогда сколько бы ни было тире, они все равно удалятся, а вот j останется ровно столько, чтобы подсчитать контрольное значение (которое делится на 11). Но это уже детали) Самое главное, вы показали, куда смотреть) а я на return грешил))
0
|
|
|
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
|
|
| 22.02.2019, 20:14 | |
|
так проще сказав, тебе нужно из строки 1-2-3-4-5-6-X получить только цифры и посмотреть, делится ли число это на 11?
0
|
|
|
27 / 19 / 8
Регистрация: 08.06.2015
Сообщений: 491
|
|
| 22.02.2019, 20:20 [ТС] | |
|
ArtemFM,
а... ну да)))) верно!
0
|
|
|
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
|
||||||
| 22.02.2019, 20:41 | ||||||
|
Ох, тогда вот что не понятно:
У тебя метод возвращает true, если строка имеет 10 цифр в противном случае false. При том с учётом, что X (10) там должен присутствовать обязательно и 1 раз, иначе будет не 11 итоговый цифр а больше или меньше...э К чему это я... Зачем выбрасывать исключение, если ты и так методом проверяешь корректность строки??? IllegalArgumentException - это исключение выбрасывают, если входящий аргумент не соответствует требованиям. А тут у тебя сам метод проверяет и возвращает результат в boolean`е. Смысла нет в исключении тут либо метод void должен быть и ничего не возвращать, апри некорректных данных он просто выкинет исключение, либо можно только проверить на null, а уже метод проверяет корректность Добавлено через 10 минут типа такого:
0
|
||||||
|
27 / 19 / 8
Регистрация: 08.06.2015
Сообщений: 491
|
|
| 22.02.2019, 20:48 [ТС] | |
|
ArtemFM,
Задачу не я составлял, может быть имеется в виду, что при вводе данных будет значение, в котором нет десяти цифр в строке(----5---2--Х)или, наоборот, слишком много цифр (558484115136548). А истину/ложь мне нужно получить, только если чтобы знать, есть ли остаток или нет остатка при делении всей этой суммы на 11. (1 знак умножается на 10, второй - тире удаляется, третий знак - на 9, четвертый знак - на 8 и т.д.) Все это суммируется и делится на 11.
0
|
|
|
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
|
|
| 22.02.2019, 20:52 | |
|
суть понял... Тогда смысл в исключении есть ) Дерзай и удачи с задачей
1
|
|
|
27 / 19 / 8
Регистрация: 08.06.2015
Сообщений: 491
|
|
| 22.02.2019, 20:55 [ТС] | |
|
ArtemFM,
вы правы. Моя ошибка. Перечитал задание (проблема в том, что она на немецком), я пошел по неправильному пути. Мне нужно было сначала удалить все тире в строке. Затем посчитать всю эту сумму и поделить на 11. А исключение мне нужно использовать только если в строке после удаления тире будет что-то кроме цифры или Х. Тогда должно выбрасываться IllegalArgumentException. Я все перепутал, прошу прощения. Но так даже легче: начинаю с цикла, нахожу тире, удаляю. Включаю условие, что, если в строке есть что-то, что != '-' || != X || != 0 || !=1 || !=2 и т.д. и тогда выбрасываю исключение А в остальном также циклом умножаю и суммирую.
0
|
|
|
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
|
|
| 22.02.2019, 21:08 | |
|
только, коли - уже удалены, их в условие можно не включать. А так да, задача норм для понимания )
Если что, обращайся с помощью...поможем )
1
|
|
| 22.02.2019, 21:08 | |
|
Помогаю со студенческими работами здесь
19
Составить программу поиска трехзначных чисел, которые при делении на 47 дают в остатке 43, а при делении на 43
Составить программу поиска трёхзначный чисел, которые при делении на 47 дают в остатке 43, а при делении на 4 Недопустимое выражение на сайте
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|