Java проверить первый символ строки

indexOf() в Java — найти в строке символ и его индекс

Метод indexOf() ищет в строке заданный символ или строку, и их возвращает индекс (т.е. порядковый номер). Метод:

  • возвращает индекс, под которым символ или строка первый раз появляется в строке;
  • возвращает (-1) если символ или строка не найдены.

Метод также может искать символ или строку, начиная с указанного индекса.

Синтаксис метода:

Пример 1:

System . out . println ( «Мы ищем букву ‘H’ в строке » + hello + «. Индекс данной буквы » + index1 ) ;

System . out . println ( «Мы ищем букву ‘o’ в строке » + hello + «. Индекс данной буквы » + index2 ) ;

System . out . println ( «Мы ищем букву ‘W’ в строке » + hello + «. Индекс данной буквы » + index3 ) ;

Если Вы запустите данный код на своем компьютере, в консоли Вы увидите следующее:

Комментарии к коду:

У нас есть строка «Hello». С помощью метода indexOf мы искали индекс трех символов — ‘H’, ‘o’ и ‘W’.

  • Символ ‘H’ стоит первым в строке. indexOf возвращает ноль.
  • Символ ‘o’ стоит в конце строки. Получаем его индекс 4.
  • Символ ‘W’ не встречается в строке «Hello». Получаем (-1).
Пример 2:

System . out . println ( «Мы ищем букву ‘H’ в строке » + hello + » начиная с индекса номер 2. Индекс » + index1 ) ;

System . out . println ( «Мы ищем букву ‘o’ в строке » + hello + » начиная с индекса 2. Индекс » + index2 ) ;

System . out . println ( «Мы ищем букву ‘W’ в строке » + hello + » начиная с индекса 2. Индекс » + index3 ) ;

Если Вы запустите данный код на своем компьютере, в консоли Вы увидите следующее:

Комментарии к коду:

У нас есть строка «Hello». С помощью метода indexOf мы искали индекс трех символов — ‘H’, ‘o’ и ‘W’, но теперь начиная с символа под индексом 2.

  • Символ ‘H’ стоит первым в строке. Но так как первые два символа в строке игнорируются, indexOf возвращает -1 («символ не найден»).
  • Символ ‘o’ стоит в конце строки. Он находится после второго символа, а значит функция его «видит». Как и в прошлом примере, получаем 4.
  • Символ ‘W’ не встречается в строке «Hello». Как и в прошлом примере, получаем (-1).
Читайте также:  Вычисление суммы ряда java
Пример 3:

System . out . println ( «Мы ищем ‘Good morning’ в строке » + gm + » начиная с индекса -2. Результат: » + index3 ) ;

System . out . println ( «Мы ищем ‘Good morning’ в строке » + gm + » начиная с индекса 2. Результат: » + index4 ) ;

System . out . println ( «Мы ищем ‘Good morning’ в строке » + gm + » начиная с индекса 888. Результат: » + index5 ) ;

Если Вы запустите данный код на своем компьютере, в консоли Вы увидите следующее:

Комментарии к коду:

Посмотрим, как метод ищет строки. У нас есть переменная «Good morning». В ней мы ищем три подстроки: «morni», «Vertex» и «Good morning».

  • «morni» — это часть строки «Good morning». Первый символ найденной подстроки «morni» имеет индекс 5. Поэтому, в консоли получаем 5.
  • «Vertex» в строке не встречается. Получаем -1;
  • «Good morning» мы ищем три раза.
    • Первый раз мы задавали отрицательный индекс (-2). Метод indexOf интерпретирует его как ноль (т.е. «искать с начала строки»). Поэтому, в консоли получаем индекс ноль — начало подстроки совпадает с началом основной строки.
    • Во второй раз мы задаем значение 2. Фактически, теперь метод проверяет, встречается ли в строке «od morning» подстрока»Good morning». Нет, не встречается. Получаем (-1) в консоли.
    • В третий раз мы задаем значение, которое явно больше длины строки 888. Это как если бы мы искали что-то в пустой строке. Получаем (-1).

    Данная статья написана Vertex Academy. Можно пройти наши курсы Java с нуля. Детальнее на сайте.

    Источник

    Метод проверки первого и последнего символа слова

    Здравствуйте.
    Начала писать игру «Города», и у меня возникла проблема. Не могу написать метод который бы проверял последнюю букву названного города с первой буквой следующего города.
    Прошу помощи.
    Заранее спасибо.

    Найти в предложении все слова, в которых встречаются первые три символа последнего слова предложения
    "Найти в предложении все слова, в которых встречаются первые три символа последнего слова.

    Эксперт Python

    if (currentCity.charAt(currentCity.length() - 1) == nextCity.charAt(0)) { //действуй }
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
    import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class City { private String name; private String firstChar; private String lastChar; public boolean isUsed() { return used; } private boolean used; public void setUsed(boolean used) { this.used = used; } City(String name) { this.name = name; this.firstChar = String.valueOf(name.toUpperCase().charAt(0)); this.lastChar = String.valueOf(name.toUpperCase().charAt(name.length() - 1)); } @Override public boolean equals(Object o)  @Override public String toString() { return name; } public static void main(String[] args) { ListCity> cities = new ArrayList<>(); cities.add(new City("Sewew")); cities.add(new City("Sewes")); cities.add(new City("Wewes")); Scanner userInput = new Scanner(System.in); City userCity; while (userInput.hasNext()) { userCity = new City(userInput.nextLine()); for (City tmpCi : cities) { if (!tmpCi.isUsed() && tmpCi.equals(userCity)) { System.out.println(tmpCi); tmpCi.setUsed(true); break; } } } } }

    Источник

    Ищем символы в строке Java

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

    Строкой в Java называют упорядоченную последовательность символов. Как правило строка в Java — это один из основных носителей текстовой информации.

    Для работы со строками в Java применяют классы String, StringBuilder и StringBuffer. Класс String включает методы, возвращающие позицию символа либо подстроки в строке: — indexOf() — для поиска с начала строки; — lastIndexOf() — для выполнения поиска с конца строки.

    Таким образом, если метод indexOf() найдёт заданную букву, символ либо строку, он вернёт индекс, то есть порядковый номер. Если не найдёт, будет возвращено -1. Также он позволяет искать символ или букву, начиная с указанного индекса.

    Кроме того, стоит добавить, что класс String включает в себя ещё и метод contains, возвращающий true, когда в строке содержится заданная последовательность символов. Этот метод рекомендуется использовать лишь тогда, когда вам просто нужно узнать о существовании подстроки в строке, при этом позиция не имеет значения.

    Метод indexOf()

     
    public int indexOf(char ch) public int indexOf(char ch, int fromIndex)
     
    public int indexOf(String s) public int indexOf(String s, int fromIndex)

    Соответственно, вызвать метод можно тоже несколькими способами:

     
    int index = str1.indexOf(myChar); int index = str1.indexOf(myChar, start);
     
    int index = str1.indexOf(myString); int index = str1.indexOf(myString, start);

    Представьте, что нам нужно отыскать в строке индекс первого вхождения требуемого символа/буквы, а также нужного слова. Как уже было сказано выше, метод indexOf() вернёт нам индекс первого вхождения, а в случае неудачи — вернёт -1.

    Посмотрите на следующий код:

     
    public class Main < public static void main(String[] args) < String str = "Otus — онлайн-образование"; int indexM = str.indexOf("з"); // Ищем символ в строке int indexJava = str.indexOf("онлайн"); // Ищем слово в строке if(indexM == - 1) < System.out.println("Символ \"з\" не найден."); >else < System.out.println("Символ \"з\" найден, его индекс: " + indexM); >if(indexJava == - 1) < System.out.println("Слово \"онлайн\" не найдено."); >else < System.out.println("Слово \"онлайн\" найдено, его индекс: " + indexJava); >> >

    Результат получим следующий:

     
    Символ "з" найден, его индекс: 18 Слово "онлайн" найдено, его индекс: 7

    Метод contains

    Бывают ситуации, когда нам необходимо проверить, содержит ли наша строка конкретный символ/букву либо слово. Нижеследующий Java-код продемонстрирует и этот пример:

    В этом случае результат будет следующим:

     
    Слово "Otus" есть в строке str? Ответ: true Символ "z" присутствует в строке str? Ответ: false

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

    Источник

Оцените статью