/
Вопросы и ответы
/
Java
/

Как получить символ из строки java?

Как получить символ из строки java?

4 года назад

Kirill Mokevnin

Ответы

29

Для извлечения символа из строки используется метод charAt(). Он принимает на вход позицию (индекс) по которому находится нужный символ. Отсчет индексов начинается с нуля. То есть первый символ имеет нулевой индекс, первый – второй и так далее.

"wow".charAt(1); // 'o'

var company = "Hexlet";

company.charAt(0); // 'H'
company.charAt(3); // 'l'

Если выйти за границу доступных букв, то возникнет ошибка:

company.charAt(-1); // Error: String index out of range: -1

company.charAt(10); // Error: cannot find symbol

4 года назад

Kirill Mokevnin

25

Упражнение 10. Мой вариант:)

var text = "Never forget what you are, for surely the world will not"; System.out.println("First: " + text.charAt(0) + "\nLast: " + text.charAt(text.length() -1));

2 года назад

Ольга Вебер

12

Добрый день! А в скобки в charAt можно занести какую-нибудь информацию, что бы она вывела мне последний символ, что бы мне не приходилось сидеть и считать буквы?

3 года назад

Ильяс

9

Методом length считаем общее количество символов и вычитаем 1, так как считаем с 0. Это и будет индекс последнего символа.

3 года назад

5

к упражнению 10

  1. Методом length считаем общее количество символов
  2. Методом charAt(...) находится значение первого и последнего символа
  3. Методом \n создается перенос строки
  4. Не забываем про пробелы в выводе результатов.

2 года назад

Aleksandr

2

System.out.println("First: " + text.charAt(0) + "\nLast: " + text.charAt(text.length()-1));

год назад

Xformer

2

Просто надо привыкнуть, что Java рождался из C языков. Там все массивы с 0))) Строки - это тож массивы(точнее не массивы а ссылки). Тем кто начинал с Basic или Pascal сложнее, там со строками проще иногда.

2 года назад

Сергей

2

В этой ветке все активно обсуждают задание номер 10. Поэтому я тоже хочу! Для начала хочется заметить, что это задание вызвало у меня существенный ступор. Хотя я уже проходил его на CodeBasics, будучи никем в программировании это решение быстро превратилось в "кашу" у меня в голове и забылось. Наверное потому, что у меня до этого задания был "барьер" в голове, о том, могу ли я делать конкатенацию с методом или тварь я дрожащая. Ну и ко всему прочему, меня пугали длинные выражения.

Теперь я знаю, я буду конкатенировать всё, что мне попадёт под руку, может даже сделаю КОДоПСА.

Моё решение задания номер 10:

var text = "Never forget what you are, for surely the world will not";

var a = "First: " + text.charAt(0) + "\nLast: " + text.charAt(55);

System.out.println(a);

2 года назад

Егвений Жуков

1

var text = "Never forget what you are, for surely the world will not";

var text2 = "not"; System.out.println("First: "+ text.charAt(0)+"\nLast: "+ text2.charAt(2));

2 года назад

Константин Петров

1

System.out.println("First: "+text.charAt(0)+"\nLast: "+text.charAt(55));

2 года назад

0

Мой вариант 10-го задания с использованием полученных знаний на Hexlet: System.out.println("First: " + text.charAt(0) + "\n" + "Last: " + text.charAt(text.length() - 1));

7 месяцев назад

Эдгар

0

В задании написано, что нужно создать только одну переменную и записать в нее все выражение ДО вывода на экран! Поэтому создаем переменную и записываем в нее составное выражение с конкатенацией строк с методами и символом переноса строки. Чтобы получить последний символ, нужно в атрибут метода получения символа вместо индекса вставить метод подсчета количества символов и вычесть 1 (так как индекс считается от 0).

9 месяцев назад

Andrey

0

Интересный факто. Все "правильные" решения с text.charAt(text.lenght() -1) - заслуга Чата GPT. И лишь те немногие с text.charAt(55) сами решили. Хоть это решение не верно и малофункционально. Ибо невозможно додуматся до конструкции где вместо вызываемой буквы, в методе, мы засовываем еще один метод. Ибо это даже приблизительно нигде не упоминалось. А так... "пройти" задачу можно было элементарным System.out.println("First: N" + "\nLast: t"); что просто глупый ответ на глупый вопрос. Только если у вопроса не было задачи стимулировать искать ответ в интернете.

17 дней назад

Core

0

var text = "Never forget what you are, for surely the world will not"; var t1 = text.charAt(0); var t2 = text.charAt(55); System.out.println ("First: "+t1+"\nLast: "+t2);

год назад

Сергей Бажанов

0
var text = "Never forget what you are, for surely the world will not"; var result = "First: " + text.charAt(0) + "\nLast: " + text.charAt(text.length() - 1); System.out.println(result);

4 месяца назад

Александр Никифоров

0

var a = "First: " + text.charAt(0) + "/nLast: " + text.charAt(text.lenght() - 1); System.out.println(a);

не вижу свою ошибку. После сохранения своего решения выбрала "подсмотреть верное решение", и все равно, кроме формата, не вижу, в чем накосячила)))

8 месяцев назад

Алина Корнева

0

мне кажется так будет понятнее что откуда берется:

var text = "Never forget what you are, for surely the world will not"; var upText = text.toUpperCase(); var lowText = text.toLowerCase(); System.out.println("First: " + upText.charAt(0) + "\nLast: " + lowText.charAt(text.length() -1));

2 года назад

Леонид Сапожников

0

Здравствуйте! По мне, так будет понятней: сначала работаем с переменными(присваиваем имена и значения), чтобы в будущем могли к ним обратиться.

var text = "Never forget what you are, for surely the world will not";

char resultN = text.charAt(0); char resultT = text.charAt(11); String first = "First: "; String last = "\nLast: ";

Выводим:

System.out.println(first + resultN + last + resultT);

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

год назад

Sergey

0

N

3 года назад

Иван

0

Never forget what you are, for surely the world will not.charAt(0)

3 года назад

Александр

0

Всем привет , начинаю учиться и много не понимаю, можете пожалуйста объяснить мне . В ваших решениях многие пишут "First" , но я не видел этой информации в уроках. Откуда это взялось или что изучить , что бы понять почему это нужно писать в код? Пример : System.out.println( First" + n.charAt(0) +"\nLast: " + t.charAt(t.length() -1));

10 месяцев назад

Pavel

0

Мой вариант : var text = "Never forget what you are, for surely the world will not"; var n = "Never"; var t = "not"; System.out.println("First: " + n.charAt(0) +"\nLast: " + t.charAt(t.length() -1));

2 года назад

Alena

0

Упражнение 10 мой ответ:

var text = "Never forget what you are, for surely the world will not"; var textFLSymbols = "First: " + text.charAt(0) + "\nLast: " + text.charAt(text.length() - 1); System.out.println(textFLSimbols);

2 месяца назад

Bint

0

Упражнение 10 мой ответ:

var text = "Never forget what you are, for surely the world will not";

var textFLSymbols = "First: " + text.charAt(0) + "\nLast: " + text.charAt(text.length() - 1); System.out.println(textFLSimbols);

не один из ваших вариантов не является верным так как в условии задания написано, что вы должны добавить переменную и уже ее засунуть в System.out.println

2 месяца назад

Bint