|
68 / 68 / 1
Регистрация: 21.12.2012
Сообщений: 458
|
|||||||||||
Вывод, основанный на значении переменной22.03.2013, 14:47. Показов 10921. Ответов 161
Метки нет (Все метки)
Привет,понадобилась такая штучка -программа.В ней есть int и он равен ,например 1,если он равен 1,то выводим содержимое первых десяти файлов,если 2 то остальной десятки и так далее.Вот как такое сделать??
В принципе кусок кода тут есть:
Добавлено через 3 минуты Плюс в выше указанном коде ,надо для каждого inta прописывать содержимое файлов,может есть унивирсальное решение?
0
|
|||||||||||
| 22.03.2013, 14:47 | |
|
Ответы с готовыми решениями:
161
Пробелы в значении переменной |
|
68 / 68 / 1
Регистрация: 21.12.2012
Сообщений: 458
|
|||||||||||||||
| 22.03.2013, 17:56 [ТС] | |||||||||||||||
я представляю так вверху алгоритм получения цифры номера страницы есть, далее получаем ,как в том коде позииции начала и конца,по ним смотрим какая введена цифра ,и выводим десять файлов,плюс проверка ,думаю надо создать конструкцию if() else().типо,если это не число вывести ошибку,вообще вот этот момент Добавлено через 22 секунды
0
|
|||||||||||||||
|
56 / 56 / 0
Регистрация: 15.03.2013
Сообщений: 88
|
|
| 22.03.2013, 18:07 | |
|
Проект с кодом Вы пока не трогаете. Там должен быть пустой main. И все. Идея проектирование в том, чтобы разобраться с решаем задачей до кодирования. А не кодировать и решать проблемы "на скаку"
![]() Итак, с учетом Ваших коррекций, общий план получается следующий: 1. Мы из указанной папки достаем все файлы, считываем содержимое и добавляем в массив. 2. Спрашиваем пользователя, какую страницу он хотел бы посмотреть. 3. Если страница введена корректно (это, не буква и она попадает в нужный диапазон), то выдаем набор строк из нашего массива. Если страница введена неверно, выдаем ругательства и просим ввести другой номер. 4. Программа завершает работу. Общий алгоритм выведения страниц: 1. Пользователь вводит страницу. 2. Мы расчитываем диапазон исходя из введенного значения. 3. Выводим нужные страницы. Не сложно, правда ведь? Это мы, получается, конкретизировали шаг 3 нашего общего плана. Теперь нам нужно немного конкретизировать 2й шаг нашего алгоритма. Попробуйте (почитайте старую тему). Подумайте, как из введенного значения страницы мы можем получить начальное и конечное значение диапазона. Ведь нам только это и нужно ![]() Повторюсь: пока никакого кода!
1
|
|
|
68 / 68 / 1
Регистрация: 21.12.2012
Сообщений: 458
|
||
| 22.03.2013, 18:41 [ТС] | ||
|
Добавлено через 24 минуты получается нам нужно будет ввести две переменные start & end start равна page*10-9, а end равна page*10,а по ним у же выводим)Ну и плюс узнаем величину массива length нам поможет.Как вам?подходит?
0
|
||
|
56 / 56 / 0
Регистрация: 15.03.2013
Сообщений: 88
|
|||
| 22.03.2013, 18:54 | |||
![]() ![]() Т.е. шаг 2 алгоритма выливается в такое: 1. Вычисляем конец диапазона, как введенное значение * 10. 2. Вычисляем начало диапазона, как конец диапазона - 9. Итого, давайте соберем все описание вместе: 1. Мы из указанной папки достаем все файлы, считываем содержимое и добавляем в массив. 2. Спрашиваем пользователя, какую страницу он хотел бы посмотреть. 3. Если страница введена корректно (это, не буква и она попадает в нужный диапазон), то : 3.1. Берем, что ввел пользователь. 3.2. Расчитываем диапазон исходя из введенного значения. 3.2.1. Вычисляем конец диапазона, как введенное значение * 10. 3.2.2. Вычисляем начало диапазона, как конец диапазона - 9. 3.3. Выводим нужные страницы. 5. Если страница введена неверно, выдаем ругательства и просим ввести другой номер. 6. Программа завершает работу. Вот так приблизительно должна выглядеть наша программа. Я надеюсь, все шаги понятны? Если да, теперь надо полумать что и где у нас будет расположено. 1. Т.к. блок вывода записей по номеру страниц планируется использовать и в другой программе, предлагаю его вынести в отдельный метод. 2. Так же, ввод файлов я бы тоже вынесла, чтобы не загромождать main. В конечном итоге, в main у нас далжно быть только общение с пользователем и вызов методов. Давайте начнем со 2го, более простого метода, который считывает файлы. Скомпонуйте его из кода, который у Вас есть.
1
|
|||
|
68 / 68 / 1
Регистрация: 21.12.2012
Сообщений: 458
|
|
| 22.03.2013, 19:08 [ТС] | |
|
0
|
|
|
56 / 56 / 0
Регистрация: 15.03.2013
Сообщений: 88
|
|
| 22.03.2013, 19:11 | |
|
Да, шаг 1 из нашего общего алгоритма.
1
|
|
|
68 / 68 / 1
Регистрация: 21.12.2012
Сообщений: 458
|
||||||
| 22.03.2013, 19:25 [ТС] | ||||||
|
Так,примерно??:
0
|
||||||
|
56 / 56 / 0
Регистрация: 15.03.2013
Сообщений: 88
|
|
| 22.03.2013, 19:36 | |
|
1. Знаете зачем у Вас живет вот эта конструция: "@SuppressWarnings("resource")"? Если нет - убираем.
2. Зачем этому методу входящие параметры, если Вы их не используете? Или начинайте использовать, или удаляйте. Почему то использование, что есть сейчас нельзя считать за нормальное? Т.к. page у нас ничего не содержит до вызова этого метода. Смысла передавать ее в него нет. Использования s я не нашла. К br та же претензия, что и к page. 3. Убираем миллион try/catch, оставляем один, отлавливающий исключения общего характера.
1
|
|
|
68 / 68 / 1
Регистрация: 21.12.2012
Сообщений: 458
|
|||||||||||||||||||||||||||
| 22.03.2013, 20:22 [ТС] | |||||||||||||||||||||||||||
|
Вообще не знаю,как эти ошибки исправить,вот так пойдет:
Вот только до чего додумался:
Добавлено через 1 минуту Добавлено через 1 минуту А все вот:
0
|
|||||||||||||||||||||||||||
|
56 / 56 / 0
Регистрация: 15.03.2013
Сообщений: 88
|
||||||||||||||||
| 22.03.2013, 20:27 | ||||||||||||||||
|
1. Исправлено.
2. Вы правильно поняли принцип (на примере переменной page). Сделайте тоже самоя для br и удалите s, если оно не используется. 3. Немного теории по исключениям: все исключения в java являются, в конечном счете, производными от Exception. Т.е. если пройтись по иерархии наследования в любом типе исключений, мы всегда упремся в этот класс. Что это нам дает ... посмотрите на следующую запись:
если FileNotFoundException, мы проверим, не является ли это исключение UnsupportedEncodingException. Если нет, то пойдем к следующему catch, который у нас и сделает его обработку. если у нас выкинется другое исключение, которое не является одним из первых двух, мы его словим 3м блоком. Принцип работы похож на switch-case. В отлове исключений нам главное помнить одно: более общие конструкции должны стоять в конце. Наши исключения можно рассматривать как коробки. Например, в "коробок" Exception может поместиться любое исключение, т.к. он является родителем для их всех. Самый маленький коробок будет у тех исключений, которые не являются базовыми для других. Еще раз: маленькие коробкивверху. Давайте на предыдущем примере подробнее ... если немного переставить catch
если FileNotFoundException, мы спросим, является ли он Exception. Да. Сработает 1й обработчик. и так для всех исключений. У нас первый блок в состоянии "принять" любое исключение и дальше мы продвинуться не сможем. Так, перейдем от лирических отступлений к нашей задаче. Т.к. у нас нет различий в обработке разного рода исключений, можно просто ловить Exception.
![]() А, и еще ... если вы внутри обрабатываете все исключения, совсем не за чем говорить, что они могут быть выброшены наружу (throws IOException) Что говорит, если убираете SuppressWarnings?
1
|
||||||||||||||||
|
68 / 68 / 1
Регистрация: 21.12.2012
Сообщений: 458
|
||||||||
| 22.03.2013, 20:34 [ТС] | ||||||||
|
Вот так лучше,наверно:
Добавлено через 1 минуту Что дальше?
0
|
||||||||
|
56 / 56 / 0
Регистрация: 15.03.2013
Сообщений: 88
|
|
| 22.03.2013, 20:36 | |
|
Замечательно! Осталось избавиться от еще одной явно-локально переменной s и можно двигаться дальше
![]() По нашему плану у нас вот: 1. Мы из указанной папки достаем все файлы, считываем содержимое и добавляем в массив. 2. Спрашиваем пользователя, какую страницу он хотел бы посмотреть. Первое мы сделали на половину. Теперь осталось вывести. Добавьте в main вызов нашего метода, приглашение пользователю ввесли страницу и считывание введенной информации.
1
|
|
|
68 / 68 / 1
Регистрация: 21.12.2012
Сообщений: 458
|
||||||||||||||||||
| 22.03.2013, 20:51 [ТС] | ||||||||||||||||||
Вот так я вызвал содержимое:
0
|
||||||||||||||||||
|
56 / 56 / 0
Регистрация: 15.03.2013
Сообщений: 88
|
|
| 22.03.2013, 20:58 | |
|
Отлично. Но с 2мя маленькими замечаниями
![]() 1. pagef(); возвращает Вам массив строк, с которыми Вы дальше будете работать. Его нужно куда-то сохранить. 2. Если планируется проверка на то, входит ли наша страница в нужный диапазон (кстати, планируется ли?), то считывание лучше поместить перед пользовательским вводом, чтобы у нас уже были данные для анализа.
1
|
|
|
68 / 68 / 1
Регистрация: 21.12.2012
Сообщений: 458
|
||||
| 22.03.2013, 21:14 [ТС] | ||||
|
0
|
||||
|
56 / 56 / 0
Регистрация: 15.03.2013
Сообщений: 88
|
|||||||||
| 22.03.2013, 21:21 | |||||||||
|
Если Вы будете это проверять, давайте сделаем это следующим шагом. Напишите код, который будет проверять ввод пользователя.
![]()
0
|
|||||||||
|
68 / 68 / 1
Регистрация: 21.12.2012
Сообщений: 458
|
|
| 22.03.2013, 21:22 [ТС] | |
|
0
|
|
|
56 / 56 / 0
Регистрация: 15.03.2013
Сообщений: 88
|
|||
| 22.03.2013, 21:28 | |||
1
|
|||
|
68 / 68 / 1
Регистрация: 21.12.2012
Сообщений: 458
|
||||||||
| 22.03.2013, 22:00 [ТС] | ||||||||
|
Что-то не получается проверка:
Добавлено через 17 секунд
0
|
||||||||
|
56 / 56 / 0
Регистрация: 15.03.2013
Сообщений: 88
|
||||||||||
| 22.03.2013, 22:22 | ||||||||||
![]() По поводу Вашей проверки:
1
|
||||||||||
| 22.03.2013, 22:22 | |
|
Помогаю со студенческими работами здесь
40
Замена символов в значении переменной последний символ в значении переменной Замена символов в значении переменной Ошибка в значении переменной, передаваемой в функцию Удалить несколько символов в значении переменной Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
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. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|