![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Samotnik |
|
||||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
Добрый день!
Есть код, сканер Директорий Значит, после запуска программы, ползователю предлагается 2 выбора: просканировать и выйти. Стоит условие:
Вот тут то и проблемка, я не могу сообразить, как многопоточность сделать?!? Вот фрагмент кода:
Помогите плз приклееть многопоточность на Scan и exit у меня ничего не получилось. ![]() ![]() ![]() ![]() ![]() Пэ.Эс. Желательно на примере моего кода, что бы легче разбираться было, т.к. во вторник уже сдавать это задание необходимо!!! |
||||
|
|||||
nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 16 Всего: 31 |
Э... а ты вообще про многопоточность только слышал или хотя бы раз сам делал? Что-то мне кажется, что только слышал.
В общем, на форуме об этом уже куча всего есть и потому повторять лишний раз не стану (используй поле "Поиск", чай не первый день на форуме). Скажу только, что тебе надо создать свой поток (Thread), в котором определить метод run. -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
Samotnik |
|
||||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
Ничего полезного ![]()
Делал сам, но только запуск элементарных приложени(распечатка цифр каждые 3 секунды,.. ) А вот сейчас по серьезнее нуна сделать, пробую пробую, но ..... ![]()
Так а что мне писать в методе run() ? Ведь он должен быть реализован в классе, котором создается поток. А весь код у меня написан в main() а в нем run() не напишешь. Это сообщение отредактировал(а) Samotnik - 7.10.2007, 16:12 |
||||
|
|||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
![]() Ребята, помогите плз сделать потоки для каждого сканера !!! С меня 2 плюса, кто поможет!! На самом деле, срочно нужно, во вторник уже сдавать, а мне еще junit повставлять нуна!!! ![]() ![]() ![]() |
|||
|
||||
Vasay |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
Многопоточность в java - это просто.
Давай так:
Вынеси код, отвечающий за сканер в отдельный класс (пока без многопоточности) и запости код сюда.... -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
||||
|
||||
Vasay |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
Так вынеси.... Зачем тебе код в main? -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
![]() Готово!
Это сообщение отредактировал(а) Samotnik - 7.10.2007, 18:21 |
|||
|
||||
nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 16 Всего: 31 |
Ну, ежели только за ради славы... ![]() В нём и надо запускать сканер. Я бы рекомендовал выделить сканер в отдельный класс, который будет создаваться и запускаться в потоке. Точнее, даже не так - пусть твой сканер и будет потоком. ![]() В общем, делаешь класс сканера, наследуешь его от Thread и определяешь метод run. Если вообще создавал поток, то проблем быть не должно. На форуме, повторюсь, есть масса примеров работы с потоками. Видимо, ты плохо искал. Сомневаюсь. У тебя же ещё должен быть реализован опрос консоли, чтобы пользователь мог вводить команды. Его, кстати, можно сделать в бесконечном цикле в основном потоке. Или выделить в отдельный поток, но это, имхо, хуже - зачем плодить лишние потоки? Не похоже. А где наследование от трэда? Давай не будем делать откровенно глупые вещи. Тебе советовали выделить код сканера в отдельный класс. Это ты выделил. Теперь чтобы сделать из этого поток, осталось лишь унаследовать и определить ран. "Чего же боле?". -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
Vasay |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
Несовсем так. Я хотел чтобы ты вынес в отдельный класс все что отвечает за сам сканер,
т.е. то что между if (p.equalsIgnoreCase("Scan")){ ************************ } т.е. то что будет работать в отдельном потоке. -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
Vasay, А так пойдет ? :
nornad, пожалуйста скажи номер строки, где следует писать ран ? Это сообщение отредактировал(а) Samotnik - 7.10.2007, 19:16 |
|||
|
||||
Vasay |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
Не не пойдет.... Добавил Почти пойдет...
Итак, давай по порядку, как это должно работать (пока без потока): Класс main: Что логически там должно произойти? Запуск программы ->Вывод сообщения (введите "scan" для сканирования, "Exit" для выхода) -> читаем ввод пользователя -> Если "Exit" -> вышли Если "Scan"-> (Пока) создали объект класса NewThread -> Запустили MainFunction(); ->MainFunction() отработала -> (это на будущее) попросили пользователя ввести "Stop", если верно, то вышли, нет, просим еще раз Сделай пока это, тебе немного поменять (пока без потоков) Это сообщение отредактировал(а) Vasay - 7.10.2007, 20:33 -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
Samotnik |
|
||||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
Чет я вот с этим не сильно понял
Это должно получицц что-то вроде этого ?
Я чего - то не понимаю, зачем вводить СТОП ?? |
||||
|
|||||
nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 16 Всего: 31 |
В предыдущем варианте строки 20-86 уходят в класс сканера. Можно всё запихнуть в ран, а можно разбить на методы по логике работы. Добавлено через 3 минуты и 59 секунд
Я тоже не понял, зачем это ![]() Добавлено через 4 минуты и 43 секунды Короче, в мэйне тебе надо сделать такой цикл: -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
Vasay |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
1. char - это один символ, он равен слову быть не может.
Впринципе, он нам не нужен, но так как для начала, я хочу, чтоб ты запустил только один поток, то стоп нам нужен, для того, чтоб корректно его остановить, а не ждать пока он завершит работу Перечитал задание, подумал, что много мы в отдельную функцию вынесли, в потоке не должно быть никакого общения с юзером... -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 16 Всего: 31 |
0. считали с консоли
1. (начало while(true)) проверили а) эксит - циклу бряк б) скан - создали сканер (каждый сканер увеличивает счётчик сканеров на 1) и пустили бегать в) что-то другое - игнорируем 2. считали с консоли 3. переходим на 1. 4. (за циклом) ставим объект-флажок, который сигнализирует сканерам, что пора закругляться 5. ждём, пока счётчик сканеров не станет 0 6. завершаемся -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
Vasay |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
Просто по заданию, нужно запускать много потоков, и есле в потоке будет общение с юзерами, то будут проблемы
-------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 16 Всего: 31 |
не получится, т.к. в коде есть такое:
Пока файл не найден ты не можешь спросить пользователя, а когда найден - ты в потоке. ![]() Добавлено через 2 минуты и 56 секунд В общем, то, что общение надо вынести - согласен. Просто, надо изменить вид общения. Например, про удаление спрашиваем до сканирования - надо ли удалять найденные файлы? Можно, конечно, извратиться и сделать два последовательных потока - в первом находим, потом в основном спрашиваем про каждый файл и пускаем другой поток, который удалит выбранные файлы. Но это вообще зицер - косяки прибавятся. -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
Vasay |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
Согласен... только у сканера (в том виде в котором он сейчас есть) часть кода (та что спрашивает директорию) не должна быть в потоке. -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 16 Всего: 31 |
Кстати, хотелось бы узнать, что именно должен делать сканер. В первом посте написано, что
, что не подразумевает какой-либо работы сканера. ![]() ![]() -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
Vasay |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
можно использовать синхронизацию, т.е. создать функцию работы с консолью, и ее засинхронизировать -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 16 Всего: 31 |
Автор, похоже, не ожидал такого жаркого обсуждения в воскресенье.
![]() Добавлено через 1 минуту и 31 секунду
Можно. Только зачем лишние трудности, если по заданию мы не обязаны спрашивать юзера в процессе сканирования? Потому-то и хочется услышать, что же именно должен делать сканер. Я голосую за "щелкать семечки". ![]() -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
||||
|
||||
Vasay |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
Автор, наверно сейчас спокойно смотрит телик, покуривая сигаретку, и попивая пивко, и ждет пока мы с тобой не решим, как всеже должен у него работать поток ![]() -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 16 Всего: 31 |
А мы уже решили. Что и оторвало автора от телека с сигареткой. ![]() -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
Не - а Автор с самого утра сидит и парицца то с потоками, то как скопировать файл (который лежит в 15 папках) да так, чтобы все эти папки в новом месте тоже остались!!! А еще автор доки по логированию и junit читает, и самое интересное, все это он делает ради одного задания(вот этого ![]() ![]() ![]() ![]() |
|||
|
||||
Vasay |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
Это действительно просто ![]() ![]() Самое простое (и самое неправильное), просто дать тебе рабочий код... но ты ведь, тогда сдашь его, и не поймешь, как просто - потоки в java ![]() -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
||||
|
||||
nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 16 Всего: 31 |
Скажи-ка, а какая разница, что твой поток делать будет? Я пока что-то не вижу. Что циферки выводить, что папки сканить и файлы копировать - всё едино. -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
Vasay |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
Не жди от меня жалости - я препод ![]()
во первых - Шилдт во вторых, сейчас возьму эту книжку и буду тбя носом в примеры тыкать ![]() -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
||||
|
|||||
nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 16 Всего: 31 |
![]() ![]() препода это могут ![]() -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
Vasay |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
to Samotnik
возьми книжку, посмотри главу 11, посмотри пример в разделе использование синхронизированных методов (у меня стр 283), посмотри его, и скажи, что тебе в нем непонятно? -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 16 Всего: 31 |
"Задумался Чапай..."
![]() -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
Со стереотипами? ![]() Блин, да мне все понятно в этом примере!!!!!(2 nornad, вот я сейчас не кричу, я вообще очень редко кричу ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Vasay, нет ну так не пойдет, давайте искать компромис, сегодня понедельник, а мне во вторник нуно проект здавать!!! ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Это сообщение отредактировал(а) Samotnik - 7.10.2007, 23:26 |
|||
|
||||
Vasay |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
А как пойдет, чтоб тебе дали готовый код? Этот пример легко превращается в то что тебе нужно... Давай возьмем его и превратим в твою программ. (только не забудь посмотреть на следующую страницу, там написано что надо добавить в этот код, чтоб класс Callme стал синхронизированным) Начнем с класса Synch - это твой Main Впринципе, ты его почти написал: сейчас проверю, чтоб работало, а ты пока запусти пример.... -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
Vasay |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
Ну что, запустил, или спать ушел?
Видать ушел спать... Я тоже пойду... Посмотри этот код:
Это слегка переделанный пример из книжки, посмотри его, там немного добавить, чтоб решить твой вопрос. На красоту кода не притедую, ибо не особо старался, но он работает. Это сообщение отредактировал(а) Vasay - 8.10.2007, 01:40 -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
Vasay,
![]() Щас не могу, на пары нужно идти, вечером отпишусь!!! ![]() |
|||
|
||||
alex_nevolin |
|
||||||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 13.8.2007 Репутация: 3 Всего: 4 |
Хочу тоже помочь
![]() 1) Для начала сделай классы помощники чтения входных параметров. Что-то типа этого:
Это избавит тебя от дублирования кода, позволит лучше контролировать код и ввод пользователя и сократит твой main. 2)Создай класс который будет заниматься непосредственно копированием, относледуй его от Thread и параметризуй. Типа так:
Так ты сможешь более удобно контролировать код и переписывать, его менять функциональность. 3)Создай в классе FileScaner методы рекурсивного обхода директорий и копирования файлов:
Это в дальнейшем облегчит тебе написание тестов (Junit). 4)Теперь все просто. вызови в run этого класса:
5) Осталось написать main:
|
||||||||||
|
|||||||||||
Vasay |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
to alex_nevolin
Ну вот, теперь Samotnik просто возьмет твой код, получит 5, а как потоки работают, так и не разберется, подождал бы уж до вечера, пускай бы человек хоть в чем-то разобраться попробовал бы. -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
||||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
2 all
Я вот нифига не разобрался! То,что скинул alex_nevolin, содержит 56 ошибок и ничего не понятно! Можно как нить на примере МОЕГО кода обьяснить! Оч надо!! |
|||
|
||||
alex_nevolin |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 13.8.2007 Репутация: 3 Всего: 4 |
Ок. Давай попробуем.
Только проблема в том что у тебя все в одной куче. Давай говорить о конкретных классах которые будут реализовывать ту или иную функциональность в программе. Ну например давай вначале реализуем класс копирования директорий. Напишем его оттестируем, можно даже сразу написать тесты к нему.. это ведь тоже входит в задание? |
|||
|
||||
nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 16 Всего: 31 |
Извращенец ![]()
Вот тут-то собака и порылась. Если ты ещё не понял, поясняю - надо вместо Samotnik'а всю эту кучу разложить по полочкам и дать готовый код, который можно скомпилировать, запустить и юзать. В общем, от чего мы с Vasay и пытались его отучить. ![]() Добавлено через 2 минуты и 35 секунд alex_nevolin, самое смешное, что решение уже описано раза три. Просто автор почему-то до сих пор не реализовал его. Учитывая, что решение достаточно элементарное, я больше склоняюсь к варианту с нежеланием самостоятельно подумать. Могу, конечно, и ошибаться; поэтому сразу прошу прощения у автора, если не прав - обижать не имею намерения. Добавлено через 4 минуты и 18 секунд Samotnik, на правах рекламы рекомендую в следующем "предложении писать" примерно так: всем, кто поможет мне с решением - дам дважды в репу. Куда веселее получается. ![]() -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
alex_nevolin |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 13.8.2007 Репутация: 3 Всего: 4 |
Ну дак поэтому, я и не запостил готовый работающий пример. Всего лишь пытаюсь натолкнуть автора темы на правильные решения в разработке данной программы. Может конечно запостил сразу слишком много. Но разобраться думаю в моем ответе не сложно.
|
|||
|
||||
Vasay |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
Не, не подкупишь, готовый код все равно не дам ![]()
Грустно... to Samotnik, - ты мой код посмотрел (он компилется, проверял ![]() -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
||||
|
|||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
Да я такой ![]() nornad, ![]() ![]() ![]() ![]() ![]() ![]() nornad, Блин заговнил по-полной ![]() Добавлено через 11 минут и 27 секунд 2 all Ребята! Ну пажалуйсто дайте работающий код!! Просто, дело в том, что завтра очень ответсвенный день, и этот код будет решать мою дальнейшую судьбу (быть или не быть ![]() ![]() Ну на самом деле, время осталось чуть-чуть !! ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|||
|
||||
Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: 14 Всего: 62 |
||||
|
||||
Vasay |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
to Samotnik,
На кого учишься, на каком курсе? И что будет если ты завтра не сдашь? -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
Ну хорошо, давайте сначала! Что мне необходимо сделать в моем коде, где , к примеру написать метод run() ? Программист 4 курс, Java изучаю с февраля |
|||
|
||||
Vasay |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
3.14здец... Программист ![]() Ты запустил код из этого примера ??? -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
||||
|
||||
nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 16 Всего: 31 |
В твоём коде - нигде, т.к. его сначала надо привести к такому виду, чтобы при чтении-выводе на консоль из различных потоков на консоли всякая муть не получилась. Для этого достаточно всё общение вынести за пределы сканера. Чтобы сканер только искал и производил действия. Об этом тебе уже говорили. Перечитай тему сызнова.
no comments ![]() Добавлено через 4 минуты и 6 секунд А что делать, ежели у нас многие препода даже основ не знают? Лично у меня в институте в своё время бейсик (теорию) вела препод, которая его не знала (она мне честно сразу призналась, что она знает паскаль, а в бейсике ни бум-бум), а препод по практике старалась меня убедить, что сидеть постоянно перед монитором очень вредно и мне это надо бросать (сам знаю, что вредно, но уже давно пристрастился и получаю кайф от этого ![]() -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
2 all
![]() |
|||
|
||||
Vasay |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
Ну с изнова не надо, но надо очень внимательно ознакомится с этим постом! просмотри на второй кусок кода. В тот код, который я тебе дал, введи переменные
в класс Caller Так чтобы их значения задавались при создании объекта (т.е. передай их через конструктор). -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
||||
|
|||||
Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: 14 Всего: 62 |
У меня в универе был препод (доцент!!!), который читал pascal, assembler, vb для первого-третьего курсов. Так вот, работал я потом с его бывшим одногруппником, который рассказывал, что этот препод каждый раз как выпивал хвастался одним и тем же своим жизненным достижением. Он говорил: "Я уникальный человек. Я учу программированию программистов при том, что сам в жизни не написал НИ ОДНОЙ программы!". И был очень собой горд. ![]() |
|||
|
||||
Vasay |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
Samotnik,
Ну что сделал? Или даже это не можешь сделать?
У нас до ООП давали нормально, ООП пытались. Но специальность у меня не прогаммерская была, так что простительно. Хотя приходила Дама с кафедры системных программистов (на первом курсе), ее предмет информатикой назывался. Не знаю как уровень знаний, но уровень преподавания был отличный. Дала нам маткакд (реально научила пользоваться), и начала дэлфи (с этого и началось мое сознательное программирования). И вкатила мне пару на моем самом первом экзамене, прямо пред новым годом ![]() Для меня это был хороший пинок ![]() Добавлено через 8 минут и 12 секунд А вобще были: С(pp) - Си то нормально дали, а вот с pp дело плохо было Программирование под вындувз (на старом Borland-е) Асма (не знаю как давали)я не ходил, мне так зачли - я на тот момент в конторке при универе подрабатывал, на асме (правда другой) сигнальные процессоры програмил Программирование под Unix - прошло мимо. Программирование (анти)вирусов - какойто антивирус для примитивного вируса написали. -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
Samotnik |
|
||||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
Vasay, сделал
Добавлено через 5 минут и 47 секунд Так?
Пишит ошибку
|
||||
|
|||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
Ну вот і ўсё. ПыПэц!!
"Уж полночь близится, Онегина все нет..." Или сказать проще, уже двенадцать, ответа нет, и кода тоже! ![]() Пэ.Эс. Забейте чуваки! Пэ.Пэ.Эс. К сожалению главный приз никто не выиграл, но все равно спасибо за внимание и потраченное (зря, что самое обидное) на меня время ! Это сообщение отредактировал(а) Samotnik - 8.10.2007, 23:33 |
|||
|
||||
Vasay |
|
||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
Ну сам виноват, что затянул.... У хоть и живу в онлайне, но в оффлайн иногда по делам выхожу!
Друг мой, ты сколько лет программирование учишь???? ![]() ![]() ![]() Даже с примера alex_nevolin списать нормально не смог!!!
Это сообщение отредактировал(а) Vasay - 9.10.2007, 00:31 -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
||||||
|
|||||||
nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 16 Всего: 31 |
Это не беда. Беда в другом - в том, что ты с февраля месяца, похоже, даже основы Java не изучил. Компилятор тебе вполне законно выругался - нефиг в сигнатуре конструктора у параметров ставить методы доступа. Как мне кажется, у тебя уже от напряга могла просто крыша начать ехать. В этом случае надо было отдохнуть немного, проветриться и тогда уже снова садиться за клавиатуру. Кода тебе никто не обещал, а ответов уже дали несколько вариантов. Нужно было лишь выбрать тот, что больше понравился и реализовать. Как уже неоднократно говорилось, потоки в Java - легко. Ты просто ещё не видел, наверное, как работают с потоками в винде на С. ![]() Кстати, ещё по поводу "кода нет". Дело в том, что я, например, в данный момент работаю (15:00-24:00 по Гринвичу) и не имею возможности нормально отвлечься - у самого работа горит. Думаю, у других примерно так же (обычно нормальные специалисты почти постоянно чем-то заняты, хотя и не всегда основной работой). Так что, извини, если не оправдали надежд на быстрое решение проблемы. -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
Ну хорошо, последняя так сказать попытка.
А если сделать так: Каждое действие (скан, копирование, удаление, ..) засунуть в 3-й (новый ) класс, затем, в классе кот имплементирует РанЭйбл , написать метод ран, и в нем вызвать всю эту красоту, а в мэйн классе, запустить, так получицца? |
|||
|
||||
Vasay |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
Знаешь, я бы написал тебе программку, если бы ты приложил хоть какие-нибудь усилия для того чтобы что-то понять. Но вместо этого ты орал, что ты и так все знаешь! Ведь ты уже полгода программируешь на java! (Я, кстати, на Java стал писать год тому назад, и сейчас разбираясь с j2ee, прежде чем задать вопрос на форуме, спрашиваю google) Возможно, самое лучшее тебе сейчас получить 2, и, поняв, что за тебя никто ничего не сделает, начать учится. Хотя, на 4 курсе (удивительно как ты еще не вылетел с таким подходом) ты уже врядли что-то поймешь. Пока писал 2 поста появилось! Это сообщение отредактировал(а) Vasay - 9.10.2007, 00:46 -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
||||
|
||||
nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 16 Всего: 31 |
да Просто, можно совместить
и Добавлено через 2 минуты и 38 секунд Точнее - да, но придётся всё же чуток подумать, а не тупо копировать куски кода. Копипаст vs программер пока что побеждает человека. -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
Vasay |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
Ну собсно, именно это мы и хотели чтобы ты сделал! Пиши новый класс и пости сюда, у тебя еще часа 2, потом я спать. -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
Я никогда не ору ! Мои восклицательные знаки, означают Внимание (ну вот так я привык выделять нужное ![]() Стесняюсь спросить, каким подходом? ![]() Все ! Жизнь не имеет смысла, пойду стреляться! Пэ.Эс. Вот увидите, года через два, буду очень хорошим Java программером, по крайней мере, приложу все старания, и стремления чтоб достичь этого! |
|||
|
||||
Vasay |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
Зачем же так. Вот например манагеры в автосалонах получают больше чем J2ee developer-ы (по крайней мере в Питере). Может тебе не парится, а?
Можешь начинать сейчас ![]() Чем разглагольствовать, лучше код напиши (небось сейчас инет в Мандриве настраиваешь ![]() -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
||||
|
|||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
||||
|
||||
Vasay |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
Ну, я спать. Никакой последней, так сказать попытки, мы так и не дождались. Жаль.
Samotnik, а эта программка, случаем, не твой должок за прошлый семестр? -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
||||
|
||||
alex_nevolin |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 13.8.2007 Репутация: 3 Всего: 4 |
Ну так что будем дальше задачку решать?
Пости что получается... |
|||
|
||||
Samotnik |
|
||||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
alex_nevolin, давай! Конец света, отложен на завтра (11:00
![]() Давай значит по твоему коду:
Получается в твоей строке
DyrectoryReader - это клас , который ты уже реализовал Значит, классы MaskReader, и BooleanReader Должен я реализовать, и будет все работать так? |
||||
|
|||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
![]() ![]() ![]() Э.. и Где ответы ? ... На поставленные вопросы, или , можно забить и забыть? |
|||
|
||||
Vasay |
|
||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
А где код?
Реализовал? Я жду, что ты хоть что-то сделаешь! -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
||||||
|
|||||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
||||
|
||||
nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 16 Всего: 31 |
Блин, ты бы меньше рассуждал да больше делал - уже б давно сделал. ![]() Никто не собирается тебе пошагово сообщать "да, правильно", "нет, неправильно". А уж посимвольно диктовать, что вводить - и подавно. -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: 14 Всего: 62 |
ого, шестая страница пошла
![]() |
|||
|
||||
nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 16 Всего: 31 |
Структура твоего кода такова:
Куда ж проще, блин. По трёхклассовой структуре в третий класс выносишь общение с пользователем. Добавлено через 3 минуты и 38 секунд Ага, у нас тут жарко - завтра парень на амбразуру лезет, а у него не то, что гранаты, а и рук-ног пока немае. ![]() Вот и проводим эксперимент - отрастут ли конечности к намеченному сроку ![]() -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
||||
|
||||
Vasay |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
а толку НОЛЬ
Они, впринципе, сводятся в одну... и сейчас мы от тебя и хотим, чтобы ты взял, посмотрел и собрал уже написанный за тебя код! alex_nevolin - дал тебе почти все. а я дал тебе пример работающего многопоточного приложения.... посмотри на него. и скомпануй код alex_nevolin -а как это сделать, я тебе уже намекал... ты не захотел ничего делать. -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |