Java — нужна помощь с java!!!


Содержание

Нужна помощь с Java-кодом

У меня проблема со связанным списком. Я генерирую 40 случайных чисел, используя случайный объект из случайного класса и добавляя их в связанный список. Это также использует указанное семя. Все работает отлично, минус эта ошибка. Первым, что печатается в консоли/выводе, является связанный список со случайным образом сгенерированным 40 ints. Затем я пытаюсь сортировать список, используя уменьшающуюся сортировку вставки, где я думаю, что моя ошибка лежит. Моя попытка «уменьшения алгоритма сортировки вставки» выполняется в методах isdRecI и isdRecII, они рекурсивны (будьте осторожны, большие части этой программы рекурсивны, поэтому, если вы не знакомы с рекурсией, будьте осторожны). После завершения сортировки я хочу снова напечатать связанный список в порядке убывания. Пожалуйста, постарайтесь сохранить его как можно проще, и если вам может понравиться мой стиль кода, так как я немного начинаю Java, то, пожалуйста, не переусердствуйте. Как вы можете видеть, если вы скомпилируете мой код, вы увидите дубликаты в отсортированной печати. Мой код приведен ниже. Я также хорошо понимаю концепцию связанного списка и вставки, но у меня очень тяжелое время получить код для вывода, как я хочу. Не стесняйтесь изменять мои методы. Спасибо за ваше время и вклад.

Также включая вывод:

начало списка печати: 51 80 41 28 55 84 175 2 101 189 117 142 190 6 12 184 187 103 132 175 1 151 192 116 28 181 25 143 71 39 129 197 101 25 103 155 152 31 10 108 конец печатного листа

(После сортировки//это не печатается только FYI)

начало списка печати: 197 192 190 189 187 184 181 175 175 155 152 151 143 142 132 129 117 116 108 103 103 101 101 84 80 71 55 51 51 80 41 41 39 31 28 28 28 55 84 175 25 25 12 10 6 2 2 101 189 117 142 190 6 12 184 187 103 132 175 1 1 151 192 116 28 181 25 143 71 39 129 197 101 25 103 155 152 31 10 108 конец печатного листа

Java — нужна помощь с java!!!

При возникновении связанных с Java проблем обращайтесь к следующим разделам.

Браузер Chrome версии 42 и более поздних. В браузере Chrome, начиная с версии 42 (выпущенной в апреле 2015 г.), отключен стандартный способ поддержки подключаемых модулей. Подробнее

Загрузка и установка Java

Используйте пакет для установки Java в автономном режиме (только для Windows)

Пакет для установки в автономном режиме часто успешно выполняется даже при возникновении проблем с интерактивным пакетом установки. Файл пакета установки в автономном режиме занимает много места и требует больше времени для загрузки в сравнении с интерактивным.
» Загрузка автономного установщика для Windows

Удалите все неработающие установки Java

Удалите предыдущие неработающие установки Java перед повторной попыткой установки.
» Удаление Java для Windows
» Удаление Java для Mac

Временно отключите межсетевой экран или клиенты антивируса

Активный межсетевой экран или антивирусные программы могут помешать корректной установке Java. Не забудьте снова включить межсетевой экран или антивирусную программу после успешного завершения установки Java.

Почему во время установки Java отображается сообщение о поврежденных файлах?

Это сообщение чаще всего отображается в Windows XP. Проблему можно устранить, выполнив утилиту Microsoft Fix it и воспользовавшись автономным установочным пакетом. Дополнительные сведения см. на странице Часто задаваемые вопросы об InstallShield.

Проверить установку Java можно с помощью инструкций в разделе Тест Java ниже.

Использование Java

После того как вы определили, что модуль Java корректно установлен, попробуйте выполнить следующие операции, которые помогут запустить определенное приложение Java.

Перезапустите браузер после установки Java, чтобы активировать новую версию

Если после установки последней версии Java все еще отображается запрос на обновление, перезапустите браузер. Закройте все окна браузера, затем откройте любую веб-страницу, для которой требуется Java. В большинстве случаев при запуске нового сеанса браузера должна быть активирована последняя установленная версия Java.
Примечание. Если по-прежнему отображается запрос на обновление, попробуйте перезагрузить компьютер. Перезагрузка компьютера может потребоваться для регистрации только что установленного подключаемого модуля Java.

Разрешение выполнить Java при выдаче запроса в браузере

Браузеры запрашивают разрешение пользователя выполнить подключаемый модуль Java в браузере. Текст сообщений может различаться в зависимости от браузера .
» Разрешение выполнения подключаемого модуля Java в браузере

Убедитесь, что в браузере включен подключаемый модуль Java

По умолчанию браузер может отключить подключаемый модуль Java и связанные дополнения. Возможно, вам необходимо настроить свой браузер и включить подключаемый модуль Java.
» Включение подключаемого модуля Java в браузере

Убедитесь, что модуль Java разрешен в панели управления Java

Если модуль Java не разрешен в панели управления Java, запуск приложений Java в любом браузере будет невозможен.
» Разрешение содержимого Java в браузере с помощью панели управления Java

Настройте параметры защиты

Убедитесь, что уровень безопасности Java не мешает запуску приложения. Уровень безопасности по умолчанию может ограничить возможность запуска приложений, которые представляют собой риск для компьютера.
» Настройка параметров уровня безопасности в панели управления Java

Как выполнять приложения, заблокированные параметрами безопасности?

Начиная с версии Java 7 (обновление 51) добавлена функция Exception Site List. Добавив URL-адрес приложения в список исключений, пользователи могут выполнять RIA-приложения, которые обычно не проходят проверки системы безопасности.
» Настройка списка сайтов-исключений

Почему я не могу распечатать купоны или транспортные этикетки?

Некоторые приложения Java пока не соответствуют новым стандартам безопасности Java. В результате такие приложения блокируются, и печать становится невозможной. Свяжитесь с разработчиком веб-сайта или приложения и сообщите им о возникшей проблеме.
» Часто задаваемые вопросы о проблемах печати

Очистите кэш (временные файлы) Java

Иногда поврежденный файл в кэш-памяти Java может помешать запуску приложения. Вы можете удалить временные файлы, загруженные модулем Java, так как Java загрузит их обновленные версии повторно.
» Очистка кэш-памяти Java

Проверка параметров антивирусных программ и межсетевого экрана, связанных с Java

Пользователи с помощью приложений для антивирусной безопасности и параметров межсетевого экрана должны проверить наличие областей для настройки подключаемых модулей Java, а также возможности добавления доверенных сайтов.

Проверьте настройки прокси-сервера

Проверьте правильность настроек прокси-сервера, если они необходимы для конфигурации сети Интернет.
» Настройка прокси-сервера с помощью панели управления Java

Удаление автономных установок JavaFX в Firefox (Windows)

Конфликт между Java версии 7u10 и выше, а также предыдущих автономных установок JavaFX может вызвать невозможность распознавания Firefox установленных версий Java.
» См. раздел неполадок Firefox

Тест Java

Убедитесь, что в браузере включена поддержка Java

Сразу после завершения установки Java вы можете проверить, включена ли в браузере поддержка Java. Возможно, выполнение Java было отключено или заблокировано в браузере. Шаги по разрешению выполнения Java зависят от используемого браузера.
» Проверка возможности выполнения Java в браузере

Удаление устаревших версий Java

Удалите все предыдущие версии Java, чтобы снизить угрозы безопасности

Использование установленных на компьютере предыдущих версий Java, поддержка которых прекращена, представляет собой серьезную угрозу безопасности. Удаление предыдущих версий Java позволит гарантировать запуск приложений Java с использованием новейших обновлений безопасности и производительности.
» Удаление предыдущих версий Java

Поиск Java

Варианты поиска установленных версий Java

» Используйте апплет Verify (Проверка) (рекомендуется)
» Если выполнить апплеты невозможно, определите версию Java вручную (Windows и Mac)

Нужна помощь с картой Java и JavaBean

У меня есть вложенная карта:

Map > areaPrices = new HashMap >();

и эта карта заполняется с помощью кода:

Я хочу использовать значение этой карты в другой метод того же класса. Для этого у меня есть фасоль.

Как заполнить его на боб, так что я могу получить ZONE_VALUE в этом другом методе

В моем боб я добавил одну новую область, как:

private Map > zoneValues;

с геттер и сеттер, как:

То, что я ищу, чтобы сделать в другом методе что-то вроде этого:

Double value = myBean.get(areaCode).get(zoneCode);

Как это произошло :(

Я хотел бы предложить другое, надеюсь, более читаемым решением:

Я думаю, что это лучше, более удобным для чтения абстракция, которая, что очень важно, делает его более легким для вас или кого-то еще, чтобы читать через несколько месяцев.

EDIT Добавлено получить получить

Если вы застряли с прибудете (AREACODE) .get (zoneCode) (в обратном порядке), но myBean полностью за вами, вы могли бы сделать что-то вроде:

OK, программирование в HTML текстовое поле не мой конек, но идея ясна. Запаситесь картой как структура при поддержке полного набора данных, и инициализировать эту структуру Map с требуемым AREACODE.

Если идея не ясна, оставить комментарий быстро, как это поздно здесь :)

РЕДАКТИРОВАТЬ

Я идиот. Я думал, что данные были зонами первым, то область в то время как прибудет должна быть площадь первым, то зона. В этом случае карта уже имеет правильную структуру, в первую зону, то зоны, так что это не нужно. Get-прибудет по умолчанию, если вы сделаете

Цукерберг рекомендует:  IT-собеседование на английском

Начнем с того, все, что вам нужно

в то время как петле имеет раздражение, вам нужно позвонить myBean.setZoneValues(areaPrices);
из стороны в то время цикла

Вы не можете непосредственно контролировать вызов вторыми прибудет (), потому что у вас есть вложенная карта, вы должны будете вернуть соответствующую вложенную карту, чтобы иметь возможность делать то, что вы хотите. Геттерный, как это следует сделать это:

Поэтому , когда клиентский код вызывает get(areaCode) карта будет возвращена , что они могут затем вызвать get(zoneCode) на.

Я хотел бы предложить, что вы реорганизовать устранить вложенные карты, хотя, потому что вы не можете остановить клиентский код от изменения возвращаемых карт, код труден для чтения, и вы будете иметь проблемы, если вы хотите добавить больше функциональности — представьте что вы хотите, чтобы обеспечить строковое описание кода региона в будущем.

Что — то вроде Map WHERE AreaCode является объектом , который содержит то , что вы в настоящее время , как вложенная Карта может быть хорошим местом для начала.

Хочу начать изучать Java, нужна помощь?

Так что гугл ответил?

matros97,
2. Перед тем как задать вопрос пользователь Сервиса обязан:

2.2 Убедиться в том, что в сети Интернет, и на страницах Сервиса в частности, отсутствуют ответы на данный вопрос. Специально для этого талантливые IT-специалисты создали и развивают поисковые системы Яндекс и Google.

Если хочешь попасть в дивный мир JVM, то начни изучать Scala.

Есть еще Kotlin, но это для тупых как я, которые не осилили Scala.

Но если вы твердо хотите стать java-разработчиком, то рекомендую смотреть сюда

Изучаем Java для разработки для Android: введение в Java

В этой серии туториалов вы познакомитесь с Java, языком программирования, используемым для разработки приложений для Android. Наша цель — подготовить тех, кто уже знаком с одним языком программирования, таким как PHP или Objective-C, которые помогут в работе с Java и окунут вас в разработку приложений для Android. В этом уроке вы получите краткое введение в основы Java, включая объектно-ориентированное программирование, наследование и многое другое. Если вы новичок в Java или просто хотите разобраться в деталях, то этот курс для вас!

Давайте начнем

Что касается предпосылок, мы предположим, что вы понимаете, как программировать (возможно, на PHP, или Visual Basic или C ++), но вы не знакомы со спецификой программирования на языке Java. Мы не собираемся учить вас программировать; мы собираемся предоставить вам четкие примеры обычно используемых конструкций и принципов языка Java, указав на некоторые советы и трюки касательно Android.

Что вам понадобится

Технически вам не нужны какие-либо инструменты для завершения этого урока, но вам наверняка понадобится для разработки приложение на Android.

Для разработки приложений для Android (или любых приложений Java, если на то пошло) вам нужна среда разработки для написания и сборки приложений. Eclipse — очень популярная среда разработки (IDE) для Java и предпочтительная среда разработки для Android. Она доступна для операционных систем Windows, Mac и Linux.

Полные инструкции по установке Eclipse (включая поддерживаемые версии) и Android SDK см. На веб-сайте разработчика Android.

Что такое Java?

Приложения для Android разрабатываются с использованием языка Java. На данный момент это действительно ваш единственный вариант для нативных приложений. Java — очень популярный язык программирования, разработанный Sun Microsystems (теперь принадлежащий Oracle). Разработанные намного позже после C и C ++, Java включает в себя многие из мощных функций этих мощных языков программирования и устраняет некоторые из их недостатков. Тем не менее, языки программирования настолько же сильны, как и их библиотеки. Эти библиотеки существуют, чтобы помочь разработчикам создавать приложения.

Некоторые из основных основных функций Java:

  • Его легко изучить и понять
  • Он разработан, чтобы быть независимым от платформы и безопасным, так как использует
    виртуальные машины.
  • Он является объектно-ориентированным

Android сильно зависит от этих основополагающих принципов Java. Android SDK включает в себя множество стандартных Java-библиотек (библиотеки структуры данных, математические библиотеки, графические библиотеки, сетевые библиотеки и все остальное, что вам может понадобиться), а также специальные библиотеки Android, которые помогут вам разработать потрясающие приложения для Android.

Почему Java легко изучить?

Java легко изучить по целому ряду причин. Конечно, нет недостатка в ресурсах Java, которые помогут вам изучить язык, включая веб-сайты, учебные пособия, книги и классы. Java является одним из наиболее широко обсуждаемых, преподаваемых и используемых языков программирования на планете. Он используется для различных проектов программирования, независимо от их масштаба, от веб-приложений и настольных приложений до мобильных приложений.

Если вы исходите из традиционного программирования, такого как C или C ++, вы найдете синтаксис Java очень похожим. Если вы этого не сделаете, то успокойтесь, зная, что вы выбрали один из самых простых языков для изучения. Вы скоро начнете работать.

Наконец, Java является одним из самых читаемых человеком языков, под которым мы подразумеваем, что человек, который ничего не знает о программировании, может часто смотреть на некоторый Java-код и по крайней мере подозревать, что он делает. Рассмотрим следующий пример:

Если вы просто прочитаете код вслух, вы можете в значительной степени сказать, что этот фрагмент кода работает. Существует одна переменная, называемая символом. Если переменная символа равна букве a, мы сделаем что-то (вызовем метод doSomething (), или в другом случае (вызывая метод doSomethingElse ().

Почему важна независимость платформы?

Со многими языками программирования вам нужно использовать компилятор, чтобы уменьшить код на машинный язык, который может понять устройство. Хотя это хорошо, разные устройства используют разные машинные языки. Это означает, что вам нужно скомпилировать ваши приложения для каждого другого устройства или машинного языка, другими словами, ваш код не очень портативен. Это не относится к Java. Компиляторы Java преобразуют ваш код из человеческих читаемых исходных файлов Java в так называемый «байт-код» в мире Java. Они интерпретируются виртуальной машиной Java, которая работает так же, как физический процессор взаимодействует с машинным кодом, чтобы выполнить скомпилированный код. Хотя может показаться, что это неэффективно, было сделано много усилий, чтобы этот процесс был очень быстрым и эффективный. Эти усилия окупились в том, что производительность Java, как правило, уступает только C/C++ в общих сравнениях производительности языка.

Приложения Android запускаются на специальной виртуальной машине под названием Dalvik VM. Хотя сведения об этой виртуальной машине не важны для среднего разработчика, может быть полезно подумать о VM Dalvik как о пузыре, в котором работает ваше приложение для Android, позволяя вам не беспокоиться о том, является ли устройство Motorola Droid, HTC Evo, или новейший тостер под управлением Android. Вам все равно, пока устройство Dalvik VM дружелюбное, и это задача производителя устройства, а не ваша.

Почему Java безопасен?

Давайте рассмотрим эту мысль немного глубже. Поскольку приложения Java работают в оболочке, которая является виртуальной машиной, они изолированы от базового устройства. Таким образом, виртуальная машина может инкапсулировать, содержать и управлять выполнением кода безопасным образом по сравнению с языками, которые работают непосредственно с машинным кодом. Платформа Android делает шаг вперед. Каждое приложение для Android работает в операционной системе (на базе Linux), используя другую учетную запись пользователя и в своем собственном экземпляре Dalvik VM. Приложения Android тщательно контролируются операционной системой и закрываются, если они не работают правильно (например, используют слишком большую вычислительную мощность, становятся невосприимчивыми, ресурсы отходов и т. д.). Поэтому важно разрабатывать приложения, которые являются стабильными и отзывчивыми. Приложения могут общаться друг с другом с использованием четко определенных протоколов.

Компиляция кода

Как и многие языки, Java по-прежнему является скомпилированным языком, хотя он не компилирует весь путь до машинного кода. Это означает, что вы, разработчик, должны скомпилировать ваши проекты Android и упаковать их для развертывания на устройства. Среда разработки Eclipse (используемая с плагином для разработки Android) делает это довольно безболезненным процессом. В Eclipse автоматическая компиляция часто включается по умолчанию. Это означает, что каждый раз, когда вы сохраняете файл проекта, Eclipse перекомпилирует изменения для вашего пакета приложений. Вы сразу видите ошибки компиляции. Eclipse также интерпретирует Java по мере ввода, обеспечивая удобную окраску и форматирование кода, а также показывающие многие типы ошибок, когда вы идете. Часто вы можете щелкнуть по ошибке, и Eclipse автоматически исправит опечатку или добавит оператор импорта или предоставит вам заглушку для метода, сохраняя множество ввода.

Вы можете вручную скомпилировать свой код, если хотите. В Eclipse вы найдете настройки сборки в меню проекта. Если вы включили «Build Automatically», вы все равно можете выбрать опцию «Clean . », которая позволит вам полностью перестроить все файлы. Если «Build Automatically» отключено, включены опции «Build All» и «Build Project». «Build All» означает создание всех проектов в рабочей области. У вас может быть много проектов в рабочем пространстве Eclipse.

Процесс сборки для обычных проектов Java приводит к созданию файла с расширением JAR — Java ARchive. Приложения Android берут файлы JAR и упаковывают их для развертывания на устройствах как файлы Android PacKage с расширением .apk. Эти форматы включают не только ваш скомпилированный Java-код, но и любые другие ресурсы, такие как строки, изображения или звуковые файлы, которые требуется выполнить вашему приложению, а также файл манифеста приложения, AndroidManifest.xml. Файл манифеста Android является файлом, требуемым всеми приложениями Android, которые вы используете для определения сведений о конфигурации вашего приложения.

Что такое объектно-ориентированный язык программирования?

Отлично. Время для очень короткого и 20 000-футового просмотра объектно-ориентированного программирования (ООП). ООП — это стиль или техника программирования, которые основаны на определении структур данных, называемых объектами. Для тех, кто новичок в ООП, объект можно воспринимать так же, как пользовательский тип данных. Например, у вас может быть объект Dog, который представляет собой чертёж общей собаки, с именем, породой и полом. Затем вы можете создавать разные экземпляры объекта Dog для представления конкретных собак. Каждый объект Dog должен быть создан путем вызова его конструктора (метода, который имеет то же имя, что и сам объект, и может иметь или не иметь параметров для установки начальных значений). Например, следующие объекты Dog используют конструктор с тремя параметрами (имя, порода, пол):

Цукерберг рекомендует:  Тест по Информационная безопасность. Веб-технологии уязвимости и безопасность

Итак, где этот объект Dog определен? Ну, здесь нам нужно начать определение некоторых фундаментальных строительных блоков языка программирования Java. Класс предоставляет определение для объекта. Таким образом, есть класс Dog где-нибудь, определенный вами или в какой-то библиотеке где-нибудь. Вообще говоря, класс будет определен в собственном файле с именем файла, соответствующим имени класса (например, Dog.java). Существуют исключения из этого правила, такие как классы, определенные в других классах (когда класс объявляется внутри класса, он обычно определяется для использования в родительском классе только как вспомогательный класс и называется внутренним классом).

Если вы хотите ссылаться на объект из другого класса, вам нужно включить оператор импорта в начало вашего файла класса, так же, как вы бы использовали оператор #include на компилированном языке, таком как C.

Класс обычно описывает данные и поведение объекта. Поведение определяется с помощью методов класса. Метод является общим термином для подпрограммы на языке ООП. Многие общие классы объектов определены в библиотеках общих классов, таких как комплекты разработки программного обеспечения (SDK), тогда как другие определяются вами, разработчиком, в ваших собственных целях. Затем программное обеспечение создается с использованием и манипулированием экземплярами объектов по-разному.

Пожалуйста, поймите, что это очень обобщенное определение ООП. На эту тему написаны целые книги. На эту тему написаны целые книги. Википедия имеет хороший обзор ООП

Примечание. В этом уроке мы используем много разных терминов. Существует несколько способов ссылаться на данную концепцию (например, суперкласс по сравнению с родительским классом), что сбивает с толку тех, кто новичок в объектно-ориентированном программировании. Различные разработчики используют разные термины, и поэтому мы старались упоминать синонимы там, где это необходимо. Решение о том, какие условия вы будете использовать, является личным выбором.

Понимание наследования

Вот еще одна важная концепция Java, с которой вы столкнетесь: наследование. Проще говоря, наследование означает, что классы Java (и, следовательно, объекты) могут быть организованы в иерархии с более низкими, более конкретными классами в иерархии, наследующие поведение и черты из более высоких, более общих классов.


Эта концепция лучше всего иллюстрируется примером. Давайте притворимся, что мы разрабатываем Java-приложение для имитации аквариума. В этом аквариуме есть рыба. Поэтому мы могли бы определить класс для представления рыбы. Этот класс, называемый Fish, может включать в себя некоторые поля данных (также называемые атрибутами или переменными-членами класса) для описания объекта рыбы: вида, цвета и размера; а также некоторые его поведение в виде методов (также называемых подпрограммами или функциями в процедурных языках), таких как eat (), sleep () и makeBabyFish ().

Для создания и инициализации объекта используется специальный тип метода, называемый конструктором; конструкторы называются такими же, как и их класс, имогут включать в себя параметры. Следующий класс Fish имеет два конструктора: один для создания общего объекта Fish, а другой для конструирования определенного объекта Fish с некоторыми исходными данными. Вы также увидите, что у класса Fish есть два метода eat (): один для приема чего-то случайного, а другой — для еды другой рыбы, который будет представлен другим экземпляром класса Fish:

Классы могут быть организованы в иерархии, где производный класс (или подкласс) включает все функции его родительского класса (orsuperclass), но уточняет и добавляет к ним, чтобы определить более конкретный объект, используя ключевое слово extends. Это называется наследованием.

Например, класс Fish может иметь два подкласса: FreshwaterFish и SaltwaterFish. Эти подклассы будут иметь все функции класса Fish, но могут дополнительно настроить объекты с помощью новых атрибутов и поведения или модифицированного поведения из родительского класса Fish. Например, класс FreshwaterFish может включать информацию о типе пресноводной среды, в которой они жили (например, река, озеро, пруд или лужа). Аналогично, класс SaltwaterFish может настроить метод makeBabyFish() таким образом, чтобы рыба ест своего партнера после размножения (как определено в суперклассе), используя механизм переопределения, например:

Организация поведения объекта с интерфейсами

В Java вы можете организовать поведение объектов в так называемых интерфейсах. Хотя класс определяет объект, интерфейс определяет некоторое поведение, которое может быть применено к объекту. Например, мы можем определить интерфейс Swimmer, который предоставляет набор методов, которые являются общими для всех объектов, которые могут плавать, будь то рыба, выдры или погружные андроиды. Интерфейс Swimmer может указывать четыре метода: startSwimming(), stopSwimming(), dive() и surface().

Затем класс, подобный Fish, может реализовать интерфейс Swimmer (с использованием ключевого слова реализует) и обеспечить реализацию поведения плавания:

Организация классов и интерфейсов с пакетами

Затем иерархии классов, такие как наши классы рыбы, могут быть организованы в пакеты. Пакет — это просто набор классов и интерфейсов, объединенных вместе. Разработчики используют пространства имен для уникального имени пакетов. Например, мы могли бы использовать com.mamlambo.aquarium или om.ourclient.project.subproject в качестве нашего имени пакета, чтобы отслеживать наши классы, связанные с рыбой.

Заключение

Вау! Вы только что начали курс по сбору данных в Java для разработки Android. Мы рассмотрели здесь довольно много материала, поэтому давайте немного поразмыслим, прежде чем переходить к следующему уроку этой серии уроков. В уроке 2 мы переключим внимание на подробные детали синтаксиса Java.

Вы только поцарапали поверхность Java-разработки для разработки Android. Ознакомьтесь со всеми другими замечательными учебниками на Mobiletuts +, чтобы погрузиться глубже в разработку Java и Android. Удачи!

Простой сайт на Java

Этой заметкой мы начнем цикл статей посвященных теме веб приложения на языке Java. Здесь Вы узнаете, как написать сайт на Java и как его потом выложить на бесплатный сервис, чтобы Вашим творением могли полюбоваться товарищи.

Для того, чтобы без проблем освоить материал Вам нужны знания Java core — это основы джава; базовые понятия фронтенда HTML, CSS, JS. Если есть проблемы с фронтендом — не волнуйтесь. Выучите постепенно с джавой)).

Для начала, нам нужно установить стандартный набор для Java. В Eclipse нужно выбрать перспективу с Java на Java EE в правом верхнем углу.

Теперь у Вас в приложении появилось больше выбора для создания файлов. Теперь нужно создать новый Maven проект. File -> new -> other… -> maven -> Maven Project

Нажимаем Next и далее нас перебрасывает в окно выбора так называемого архетипа (archetype). Для чего это нужно? Да просто для удобства. Мы используем Maven как инструмент сборки потому, что он очень удобен. Нам не нужно больше искать дополнительные jar библиотеки в Интернете, качать их и подключать. Maven позволяет нам подключать дополнительные библиотеки в специальном файле настроек, который называется pom.xml. Несмотря на его внешнюю запутанность, он очень прост и удобен.

При выборе архетипа нужно выбрать maven-archetype-webapp:

Можно было создать простое java приложение и потом добавить pom.xml, необходимые папки, web.xml; но зачем, если за нас это может сделать выбор архетипа)).

Далее появиться окно ввода Group id, Artifact id. В строку Group id введите com.javamaster, а в строку Artifact id можно ввести например simplewebapp.

Нажимаем Finish и видим, что в панели проектов нам создало новый проект с названием нашего Artifact id. Если Вы откроете проект, то увидите, что программа создала много непонятных папок и несколько непонятных файлов. Но, это все нам пригодиться.

Не успели мы создать приложение, как уже выдает ошибку. Это не серьезная ошибка и приложение все равно запуститься без нее. Но так как я не люблю красные крестики в проекте нужно добавить одну зависимость в наш проект, чтобы ошибка исчезла. Так мы и познакомимся с pom.xml.

Откройте файл pom.xml, перейдите на вкладку кода: (на картинку можно нажать)

Далее в раздел dependencies (зависимости) нужно добавить:

Этим действием мы добавили новую библиотеку к нашему проекту. Ничего не нужно скачивать: добавление нескольких строчек в pom.xml укажет вашей программе автоматически загрузить данные библиотеки. Сохраните файл и проблема с ошибкой проекта должна исчезнуть.

Теперь необходимо рассмотреть как работает веб и в частности, веб приложения.

На рисунке выше представлена схема работы интернет приложений: клиент, то есть Ваш браузер, посылает запрос по определенному адресу и порту; через Интернет запрос доходит до Вашего сервера, на котором находится приложение; обработанный запрос возвращается клиенту в виде ответа; браузер интерпретирует ответ с сервера в понятный для человека вид картинок или текст. Если Вам интересно, что именно передается по сети, советую скачать приложение Fiddler, который поможет Вам увидеть запросы и ответы с Вашего компьютера.

Теперь нужно посмотреть, как обрабатываются запросы самим веб приложением. Мы будем рассматривать пример java приложения, но схема будет работать и для других языков программирования.

Как мы уже поняли, на сервер приходит запрос далее он должен как-то оповестить о запросе наше приложение и наше приложение должно распознать этот запрос, проделать действия и отослать ответ.

Не самая красивая, но достаточно точная схема работы веб программы. Для распознавания запросов в Java есть такой механизм как сервлет (Servlet) — он может определить строку запроса и перенаправить его на jsp — технология, которая позволяет динамически генерировать веб страницы. По сути jsp очень похож на HTML с тем отличием, что в нем можно запускать Java код. Мы этого делать не будем, так как эта технология считается не самой лучшей. Детальнее о jsp будет в следующих статьях.

Сервлет — это класс, который унаследован от HttpServlet. В классе HttpServlet есть несколько методов по обработке запросов. Нас пока будут интересовать doGet и doPost, который обрабатывают соответственно гет и пост запросы. Если не знаете, что это такое — советую загуглить.

В нашем проекте нужно найти папку src/main/java. Если таковой нет, нужно ее создать: правой кнопкой на src -> new -> source folder.

Далее нужно добавить в эту папку новый пакет (Вы же не хотите помещать все классы в одной папке). Я назвал у себя: com.javamaster.controller

Теперь есть две возможность создать сервлет: создать класс и унаследовать его от HttpServlet и потом переопределить нужные нам методы или создать сервлет (на картинке выше можно увидеть, что система сама нам предлагает создать servlet). Разницы нет никакой. Если Вы выберете автоматическое создание, то получите то же самое. Вот мой сервлет, который я назвал HomeServlet (можно выбирать любое название).

Нужна помощь с Java-кодом

У меня проблема со связанным списком. Я генерирую 40 случайных чисел, используя случайный объект из случайного класса и добавляя их в связанный список. Это также использует указанное семя. Все работает отлично, минус эта ошибка. Первым, что печатается в консоли/выводе, является связанный список со случайным образом сгенерированным 40 ints. Затем я пытаюсь сортировать список, используя уменьшающуюся сортировку вставки, где я думаю, что моя ошибка лежит. Моя попытка «уменьшения алгоритма сортировки вставки» выполняется в методах isdRecI и isdRecII, они рекурсивны (будьте осторожны, большие части этой программы рекурсивны, поэтому, если вы не знакомы с рекурсией, будьте осторожны). После завершения сортировки я хочу снова напечатать связанный список в порядке убывания. Пожалуйста, постарайтесь сохранить его как можно проще, и если вам может понравиться мой стиль кода, так как я немного начинаю Java, то, пожалуйста, не переусердствуйте. Как вы можете видеть, если вы скомпилируете мой код, вы увидите дубликаты в отсортированной печати. Мой код приведен ниже. Я также хорошо понимаю концепцию связанного списка и вставки, но у меня очень тяжелое время получить код для вывода, как я хочу. Не стесняйтесь изменять мои методы. Спасибо за ваше время и вклад.

Цукерберг рекомендует:  7 правил быстрой верстки

Также включая вывод:

начало списка печати: 51 80 41 28 55 84 175 2 101 189 117 142 190 6 12 184 187 103 132 175 1 151 192 116 28 181 25 143 71 39 129 197 101 25 103 155 152 31 10 108 конец печатного листа

(После сортировки//это не печатается только FYI)

начало списка печати: 197 192 190 189 187 184 181 175 175 155 152 151 143 142 132 129 117 116 108 103 103 101 101 84 80 71 55 51 51 80 41 41 39 31 28 28 28 55 84 175 25 25 12 10 6 2 2 101 189 117 142 190 6 12 184 187 103 132 175 1 1 151 192 116 28 181 25 143 71 39 129 197 101 25 103 155 152 31 10 108 конец печатного листа

Java нужна помощь

вот отрывок кода. Говорит, что переменная range не иницилизрована, но это не так
public static void check(int result) <
int range;
if ( result == 1) <
range = 10;
>

else if ( result == 2) <
range = 25;
>
else if ( result == 3) <
range = 50;
>
else if ( result == 4 ) <
range = 100;
>
lvl(range);

Простой сайт на Java

Этой заметкой мы начнем цикл статей посвященных теме веб приложения на языке Java. Здесь Вы узнаете, как написать сайт на Java и как его потом выложить на бесплатный сервис, чтобы Вашим творением могли полюбоваться товарищи.

Для того, чтобы без проблем освоить материал Вам нужны знания Java core — это основы джава; базовые понятия фронтенда HTML, CSS, JS. Если есть проблемы с фронтендом — не волнуйтесь. Выучите постепенно с джавой)).

Для начала, нам нужно установить стандартный набор для Java. В Eclipse нужно выбрать перспективу с Java на Java EE в правом верхнем углу.

Теперь у Вас в приложении появилось больше выбора для создания файлов. Теперь нужно создать новый Maven проект. File -> new -> other… -> maven -> Maven Project

Нажимаем Next и далее нас перебрасывает в окно выбора так называемого архетипа (archetype). Для чего это нужно? Да просто для удобства. Мы используем Maven как инструмент сборки потому, что он очень удобен. Нам не нужно больше искать дополнительные jar библиотеки в Интернете, качать их и подключать. Maven позволяет нам подключать дополнительные библиотеки в специальном файле настроек, который называется pom.xml. Несмотря на его внешнюю запутанность, он очень прост и удобен.

При выборе архетипа нужно выбрать maven-archetype-webapp:

Можно было создать простое java приложение и потом добавить pom.xml, необходимые папки, web.xml; но зачем, если за нас это может сделать выбор архетипа)).

Далее появиться окно ввода Group id, Artifact id. В строку Group id введите com.javamaster, а в строку Artifact id можно ввести например simplewebapp.

Нажимаем Finish и видим, что в панели проектов нам создало новый проект с названием нашего Artifact id. Если Вы откроете проект, то увидите, что программа создала много непонятных папок и несколько непонятных файлов. Но, это все нам пригодиться.

Не успели мы создать приложение, как уже выдает ошибку. Это не серьезная ошибка и приложение все равно запуститься без нее. Но так как я не люблю красные крестики в проекте нужно добавить одну зависимость в наш проект, чтобы ошибка исчезла. Так мы и познакомимся с pom.xml.

Откройте файл pom.xml, перейдите на вкладку кода: (на картинку можно нажать)

Далее в раздел dependencies (зависимости) нужно добавить:

Этим действием мы добавили новую библиотеку к нашему проекту. Ничего не нужно скачивать: добавление нескольких строчек в pom.xml укажет вашей программе автоматически загрузить данные библиотеки. Сохраните файл и проблема с ошибкой проекта должна исчезнуть.

Теперь необходимо рассмотреть как работает веб и в частности, веб приложения.

На рисунке выше представлена схема работы интернет приложений: клиент, то есть Ваш браузер, посылает запрос по определенному адресу и порту; через Интернет запрос доходит до Вашего сервера, на котором находится приложение; обработанный запрос возвращается клиенту в виде ответа; браузер интерпретирует ответ с сервера в понятный для человека вид картинок или текст. Если Вам интересно, что именно передается по сети, советую скачать приложение Fiddler, который поможет Вам увидеть запросы и ответы с Вашего компьютера.

Теперь нужно посмотреть, как обрабатываются запросы самим веб приложением. Мы будем рассматривать пример java приложения, но схема будет работать и для других языков программирования.

Как мы уже поняли, на сервер приходит запрос далее он должен как-то оповестить о запросе наше приложение и наше приложение должно распознать этот запрос, проделать действия и отослать ответ.

Не самая красивая, но достаточно точная схема работы веб программы. Для распознавания запросов в Java есть такой механизм как сервлет (Servlet) — он может определить строку запроса и перенаправить его на jsp — технология, которая позволяет динамически генерировать веб страницы. По сути jsp очень похож на HTML с тем отличием, что в нем можно запускать Java код. Мы этого делать не будем, так как эта технология считается не самой лучшей. Детальнее о jsp будет в следующих статьях.

Сервлет — это класс, который унаследован от HttpServlet. В классе HttpServlet есть несколько методов по обработке запросов. Нас пока будут интересовать doGet и doPost, который обрабатывают соответственно гет и пост запросы. Если не знаете, что это такое — советую загуглить.

В нашем проекте нужно найти папку src/main/java. Если таковой нет, нужно ее создать: правой кнопкой на src -> new -> source folder.

Далее нужно добавить в эту папку новый пакет (Вы же не хотите помещать все классы в одной папке). Я назвал у себя: com.javamaster.controller

Теперь есть две возможность создать сервлет: создать класс и унаследовать его от HttpServlet и потом переопределить нужные нам методы или создать сервлет (на картинке выше можно увидеть, что система сама нам предлагает создать servlet). Разницы нет никакой. Если Вы выберете автоматическое создание, то получите то же самое. Вот мой сервлет, который я назвал HomeServlet (можно выбирать любое название).

MnogoBlog

как создать сайт на wordpress, настроить и оптимизировать wordpress

Примеры на Java (часть 1)

Здравствуйте, рассмотрим простые примеры на Java – как вывести на Java строчки различными способами (10 вариантов), а также решим простые математические задачки с помощью Java.

Если у вас сломался компьютер, то стоит обратиться в Сервисный центр iT-Group: https://itg23.ru/service/repair-pc.html – профессионалы починят быстро и качественно.

Чтобы протестировать Java код, а также скомпилировать его в jar файл, – можно воспользоваться следующим онлайн-сервисом:

“browxy.com”

Здесь в основное поле вводим java код – жмем кнопку “start” – смотрим на сообщение, если выходит “Finishid Ok” значит все правильно – видим результат в нижнем окошке.

Также в данном онлайн-сервисе можно скомпилировать код в jar файл и запустить на компьютере!

Для этого достаточно нажать кнопку “Save”, а после “Download” – и к вам на компьютер скачается jar файл, который вы сможете запустить, если у вас установлена Java.

Более подробно об других онлайн-сервисах по редактированию и компиляции java раскажу в следующей записи.

А теперь перейдем непосредственно к примерам на Java!

Пример 1: Выводим на экран различными способами надпись:

“Hello world
5 раз”

Решить данную задачу можно различными способами, внизу рассмотрено 10 способов:

Способ 1:

Способ 2:

Способ 3:

Способ 4:

Способ 5:

Способ 6:

Способ 7:

Способ 8:

Способ 9:

Способ 10:

Пример 2: Простые математические задачи.

Далее перейдем к решнеию простых математических задач с помощью Java, рассмотрим следующие:
Задача 1: Программа выдает случайное число от 0 до 9.
Задача 2: Программа в случайном порядке выдает загрузку мощности от 1 до 100 процентов.
Задача 3: Программа выдает случайное число от 1 до 10.
Задача 4: Программа выдает случайную дату января.
Задача 5: Программа в случайном порядке выдает загрузку мощности от 0 до 100 процентов.
Задача 6: Программа выводит число, введенное пользователем.
Задача 7: Программа выводит сумму чисел, введенных пользователем.
Задача 8: Программа выводит разность чисел, введенных пользователем.
Задача 9: Программа выводит число, обратное числу, введенному пользователем.
Задача 10: Программа выводит квадрат числа, введенного пользователем.

Задача 1: Программа выдает случайное число от 0 до 9.

Возможный вариант ответа:

Случайное число: 5

Задача 2: Программа в случайном порядке выдает загрузку мощности от 1 до 100 процентов.

Возможный вариант ответа:

Загрузка мощности: 48%

Задача 3: Программа выдает случайное число от 1 до 10.

Возможный вариант ответа:

Задача 4: Программа выдает случайную дату января.

Возможный вариант ответа:

Задача 5: Программа в случайном порядке выдает загрузку мощности от 0 до 100 процентов.

Возможный вариант ответа:

Задача 6: Программа выводит число, введенное пользователем.

Возможный вариант ответа:

“Введите число:”
4
Введено число:4

Задача 7: Программа выводит сумму чисел, введенных пользователем.

Возможный вариант ответа:
Сумма:18

“Введите число:”
3
“Введите число:”
15

Задача 8: Программа выводит разность чисел, введенных пользователем.

Возможный вариант ответа:

“Введите число:”
5
“Введите число:”
7

Задача 9: Программа выводит число, обратное числу, введенному пользователем.

Возможный вариант ответа:

“Введите число:”
5
Обратное число:-5″

Задача 10: Программа выводит квадрат числа, введенного пользователем.

Возможный вариант ответа:

“Введите число:”
5
Квадрат числа:25″

Понравилась статья? Поделиться с друзьями:
Все языки программирования для начинающих
2020-12-03, 01:21 #1