String matches и contains не работают регулярные выражения

Здраствуйте
Я не могу понять, почему класс String его методы contains и matches не работают у меня с регулярными выражениями. При этом у других данный код работает. у меня java 8. Может быть такое, что в новой версии данные методы были отменены? или я все таки не правильно что то делаю.

P.S. данную задачу другими методами я могу решить. Я протестировал именно эти методы и они выдали такой
странный результат.

package com.javarush.task.task22.task2212;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/*
Проверка номера телефона
*/
public class Solution {
    public static boolean checkTelNumber(String telNumber)

    {
        System.out.println(telNumber);
        if(telNumber == null) return false;
        Pattern pattern = Pattern.compile("[a-z]+");
        Matcher matcher = pattern.matcher(telNumber); // так работает
        System.out.println("has symbol: " + matcher.find());
        System.out.println("contains: "+telNumber.contains("\\w"));

        System.out.println("matches: " + telNumber.matches("\\w"));
        System.out.println("contains: " + telNumber.contains("[a-z]"));

        return true;
    }

    public static void main(String[] args) {
        System.out.println(checkTelNumber("sd"));    }
}


вывод данного кода

sd
has symbol: true
contains: false
matches: false
contains: false
true

String matches и contains не работают регулярные выражения

Здраствуйте
Я не могу понять, почему класс String его методы contains и matches не работают у меня с регулярными выражениями. При этом у других данный код работает. у меня java 8. Может быть такое, что в новой версии данные методы были отменены? или я все таки не правильно что то делаю.

P.S. данную задачу другими методами я могу решить. Я протестировал именно эти методы и они выдали такой
странный результат.

package com.javarush.task.task22.task2212;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/*
Проверка номера телефона
*/
public class Solution {
    public static boolean checkTelNumber(String telNumber)

    {
        System.out.println(telNumber);
        if(telNumber == null) return false;
        Pattern pattern = Pattern.compile("[a-z]+");
        Matcher matcher = pattern.matcher(telNumber); // так работает
        System.out.println("has symbol: " + matcher.find());
        System.out.println("contains: "+telNumber.contains("\\w"));

        System.out.println("matches: " + telNumber.matches("\\w"));
        System.out.println("contains: " + telNumber.contains("[a-z]"));

        return true;
    }

    public static void main(String[] args) {
        System.out.println(checkTelNumber("sd"));    }
}


вывод данного кода

sd
has symbol: true
contains: false
matches: false
contains: false
true
  • ,

Где взять задачи(идеи) для закрепления материала по пройденым темам JR?

Здравсвуйте. Сейчас на 17-м уровне, и ощущается, что тяжело уже все идет, мотивация падает из-за того, что не понимаешь что-то или даже больше из-за того, что каша в голове.
Суть моего вопроса в общем в том, чтобы хотелось еще больше практики, мини проекты какие-то, но не тупо отсортировать коллекцию определенным образом, а чтобы была задумка какая-то интересная(например мини игра, парсер с сайта) но графику еще не изучал, поэтому только консоль. Может кто подсказать подобные интересные задачи?

Мой Чат.

Всем привет!
Хочу поделиться своим небольшим проектом:
Взял одну из больших задач (Чат) и изменил, обновил, добавил много нового и вот что из этого вышло:



Что изменено/добавлено по сравнению с оригинальной задачей:

— Конфигурацию читает из файла properties при помощи класса ResourceManager
— Добавлены чат румы и возможность клиенту создавать свои чаты
— Добавлены приватные сообщения
— Полностью новый swing интерфейс клиента
— Добавлены горячие клавиши для отправления сообщений и команд клиента
— Добавлено окно настроек
— Добавлены смайлики
— Сделаны вкладки для отображения сообщений из разных чат румов и приватных чатов
— Добавлен счетчик непрочитанных сообщений
— Сделано дерево пользователей для отображения пользователей в чатах и вызова приватных сообщений
— Бот научился отвечать смайликом на смайлик
— Добавил логгер log4j
— Добавил добавил тесты jUnit
— Завернул все это в мавен и разбил на модули

ссылка на гит хаб: github.com/DevCorvette/chat

Кому интересно, заходите, смотрите, комментируйте, буду рад :)
Конструктивной критике тоже буду рад.

P.S.: Тот кто еще не решал задачу — не ищите у меня готовых решений, там практически все переписано ;)
  • ,

Наследование в Hibernate: моя первая публикация на Хабрахабре

Доброго дня всем коллегам-джаварашевцам!

Согласно опросу, проведенному сайтом «Мой круг», примерно половина работодателей так или иначе обращает внимание на «сторонние увлечения» соискателя, а именно на участие в профильных IT-сообществах.

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

Наиболее заметными сообществами, на участие в которых обращают внимание российские работодатели, являются StackOverflow, GitHib и Хабрахабр.

Я работаю Java-developer'ом чуть более 4-х месяцев, и пока первоначальный «запал» не окончательно растерян, тоже решил приучить себя не деградировать в свободное от работы время, а заниматься чем-нибудь полезным:) Выбора «куда идти», в общем-то, не было: GitHub — это в основном место для opersource-проектов, где неопытному разработчику чаще всего нечего делать; формат StackOverflow мне просто не особо нравится (хотя «по долгу службы» пользуюсь им, конечно, регулярно). Собственно, поэтому мой выбор пал на Хабр — крупнейший в стране коллективный IT-блог.

Статья посвящена реализации наследования в библиотеке Hibernate.
Поскольку хибер для java-разработчика — практически must-have, думаю, она будет интересна здешним читателям:)

habrahabr.ru/post/337488

Приятного прочтения!

Магический пинок - промежуточные результаты обучения

Добрый день!

Вчера написал очень душевный текст, со своими некоторыми мыслями и ПК просто вырубился. В черновики ничего не сохранил и моя поэма ушла в мусор. Хотел бы начать что-то писать, может кому-то помогут рассуждения, а может мне нужно выговориться и получить некоторые слова поддержки, да в целом всё равно.

На JR я с начала июля 2017 года, год назад я получил высшее образование по специальности: «Экономика», особых перспектив на сегодняшний момент у человека с таким образованием просто нет. Ну разве пойти продавать что-нибудь или стать, менеджером по работе с клиентами. Работа тоска смертная и я всё чаще замечаю, что я какой-то отсталый. Прокачки скилов не происходит, каждый день как с копирки — ты сидишь и звонишь. Псевдомотивация продавцов, меня вообще выбешивает.

Образование тоже полный бред, ну разве, что спасибо за способность самообучаться, и многие курсы по созданию собственного бизнеса, мы раскладывали работу на процессы и декомпозировали их. По факту та же большая программа, да менеджер по продажам — это бот, который работает по чёткому алгоритму/скрипту, с набором параметров и базовой математикой, например: конверсия, показатели успешности закрытия сделок и прочее.

Я успел поработать в банке, на предприятии в автопроме, сейчас в ИТ-компании (мелкой) и все позиции менеджерские, продажи, работа с клиентами. И примерно в начале весны меня всё больше и больше стало выбешивать абсолютно всё… Работа, материальный достаток и прочее. Я начал смотреть на разные сферы, думал пойти на разработчика конфигураций 1С. Всегда хотел работать головой и делать что-то глобальное, а не просто просиживать свою жизнь. И тут произошёл один случай, который встряхнул меня.

Я подошёл к директору и прямо спросил: «Что мне делать?! Не хочу быть шариком на телефоне.» Ответ последовал такой, чтобы я посмотрел на программирование, про 1С забыл как страшный сон и почитал: «Четвёртая промышленная революция». Собственно тут и началось… Я понял, что всё чем я занимался чушь полная, а примеры автоматизации указанные в книге показывают, на какой стороне лучше быть.

Таким образом я попал на JR и пошёл по бесплатному курсу, за два месяца прошёл 8 уровней (хотел быстрее вернуться домой чтобы продолжать решать задачи, на работе в свободное время смотрел лекции), в прошлом знания Pascal помогли мне разобраться со многими простыми вещами. Заказал «Философия Java» и вместе с прохождением курса я знакомлюсь с теорией. Проблема в том, что мне сейчас обидно, что я не начал это делать раньше. В школе у меня всегда было 50 на 50, я одинаково мог разобраться в технических науках, так и в гуманитарных. Я даже был в информационном классе с углубленной математикой и информатикой, но из-за особого стиля преподавания, я откровенно забил на программирование. Мне стало стрёмно, что я всегда не успевал за остальными, решали 3-4 человека из класса с которыми только и работал преподаватель.

Сейчас я понимаю, что мне нужно выучить английский до разговорного, подтянуть Java Core по максимуму, SQL, некоторые технологии и т.д. У меня не то, чтобы руки опускаются, но глаза разбегаются. В статьях на форуме я уже читал, что лучше в самом начале выучиться нормально, а уже потом идти искать работу, а не пытать судьбу. Да только зная другую реальность, в своей работать уже не хочется.

Что вы думаете, стоит или не стоит бежать впереди паровоза? Пройти как основу JR и уже потом подтянуть всё остальное (минимальное для прохождения на juniora)?
  • ,

Создание собственной коллекции

Необходимо реализовать коллекцию целых чисел которая позволяет выполнять операции
добавление
удаление
поиска элемента по значению
поиска элемента по индексу -поиск макс и мини и сред. ариф.

при этом при добавлении элемента все элементы увеличивают свое значение на добавляемый элемент

Недопустим ввод в коллекцию null, символов и других значений, кроме целых чисел.

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

Что изучать дальше?

Добрый вечер. Мне 15 лет. Прошёл первые 10 уровней Javarush, немного изучал Android разработку, делаю свои приложения. Разработка под Android очень нравится, но чувствую что надо ещё что-то по Javе подучить. Порекомендуйте, пожалуйста, какие интересные книги по Java для развития почитать или что-нибудь другое.
P.S Стоит ли покупать подписку на Javarush, и какую?
P.P.S Также, интересно было бы узнать, как делать программы на java под Windows и сделать самому такую.
P.P.P.S Ещё ищу хороший и объемный материал по Android разработке

Написал игру на Java в 14 лет.

Предыстория
В младших классах я очень любил компьютерные игры. Со временем у меня все больше и больше появлялось желание
создать что-то свое. Я узнал об одной очень интересной профессии — Программист. Программист, в моем понимании творец, писатель в своем роде, он может создать что захочет, написав строчки кода. Я сразу же загорелся желанием стать им. К тому же, зарплата у программистов довольно высокая.
Начало
Первым, как я считал «языком программирования» для меня стал html. Я изучил его примерно за несколько недель. Дальше css, и тут меня занесло в этот неизведанный мир… Я начал верстать простые страницы, делать прототипы сайтов, сидел на разных форумах, в общем мне все это безумно нравилось.
Как я познакомился с Java
У меня был выбор, идти дальше изучать веб, или пойти в ПО программирование. Я выбрал ПО. Начал искать курсы облазил весь гугл и нашел JavaRush. Очень зацепили фишки, что курс построен в виде игры, и что во время обучения присутствует юмор. Примерно за месяц прошел первые 10 уровней. Потом нужно было покупать подписку, но я так и не решился. К следующему НГ я понял, что нужно что-то менять, и купил долгожданную подписку. С этого момента я решил серьезно заниматься. На данный момент мне 14 лет, я достиг 27 уровня. Недавно захотелось написать что-то самому, с нуля. И у меня это получилось. Я написал игру GetFoodGame. Для запуска дважды кликните по файлу GetFoodGame.jar. Идея такова: сверху падают фрукты а игрок, управляю вазой с помощью стрелочек (Влево, Вправо) ловит их. Когда вы не смогли поймать 2 фрукта, появляется окошко, с надписью что вы проиграли. По моему мнению, реализовал я не очень хорошо (мягко говоря) слишком много костылей. Буду рад конструктивной критике ;) Всем хорошего настроения, и успехов !)
  • ,

Первый язык для подростка перед Java

Уважаемые коллеги! Прошу посоветовать первый для изучения язык программирования, если вторым языком будет, скорее всего, Java. Мальчику пятнадцать. С английским языком у него проблем нет — почти как родной.
Заранее благодарю за аргументированные ответы.
  • ,

Использование UML в разработке и сопровождении java-программ

UML (Unified Modeling Language) — унифицированный язык моделирования.
Узнал об UML из замечательного повествования на форуме от alex8894
Обзор CASE-средств для построения диаграмм UML.
В книге «UML for Java Programmers» Robert Cecil Martin, насколько понял, используются стандарты UML 1, т. к. ныне действующий UML вступил в действие уже после её опубликования. Однако, полагаю, основные принципы построения подобных блок-схем остались без существенных изменений.
Учебный пример из лекции:

/*
 * © Volodya Mozhenkov 2015
 * GPL version 3.0
 * Almost University http://www.almost-university.com/
 * VladimirMozhenkov@yahoo.com
 *
 */
// файл Main.java
public class Main
{
    private static void printRes(MyResult r)
    {
        if(r.hasResult())
        {
            System.out.print("Результат исполнения: ");
            System.out.println(r.getResult());
        }
        else
        {
            System.out.println("Результат отсутствует");
        }
    }
    public static void main(String[] args)
    {
        MyCalculator c1 = new MyCalculator('/');
        MyResult r = c1.calculate(4, 2);
        printRes®;
        r = c1.calculate(40, 13);
        printRes®;
        r = c1.calculate(1, 0);
        printRes®;

        c1 = new MyCalculator('^');
        r = c1.calculate(2, 25);
        printRes®;
    }
}

// файл MyCalculator.java
public class MyCalculator
{
    private class ResultClass implements MyResult
    {
        boolean valid;
        int result = 0;
        public ResultClass()
        {
            valid = false;
        }
        public ResultClass(int result)
        {
            this.result = result;
            valid = true;
        }
        public int getResult()
        {
            return result;
        }
        public boolean hasResult()
        {
            return valid;
        }
    }
    private char operation;

    public MyCalculator(char operation)
    {
        this.operation = operation;
    }

    public MyResult calculate(int a, int b)
    {
        MyResult res;

        switch(operation)
        {
            case '*':
                res = new ResultClass(a*b);
                break;
            case '/':
                if(b!=0)
                {
                    res = new ResultClass(a/b);
                }
                else
                {
                    res = new ResultClass();
                }
                break;
            case '+':
                res = new ResultClass(a+b);
                break;
            case '-':
                res = new ResultClass(a-b);
                break;
            default:
                res = new ResultClass();
                break;
        }
        return res;
    }
}

// файл MyResult.java
public interface MyResult
{
    public int getResult();
    public boolean hasResult();
}

И, используя одну из бесплатных версий программ, довольно быстро нарисовал такую блок-схему этой программы на смартфоне (естественно с шибками, так как только начал интересоваться UML):
Image Hosted by PiXS.ru
Интересно было бы посмотреть и сравнить с тем, какую UML- схему/диагамму этой же программы построит Intellij IDEA.