Как получить символ из строки java?
Для извлечения символа из строки используется метод 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
Упражнение 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));
Добрый день! А в скобки в charAt можно занести какую-нибудь информацию, что бы она вывела мне последний символ, что бы мне не приходилось сидеть и считать буквы?
Методом length считаем общее количество символов и вычитаем 1, так как считаем с 0. Это и будет индекс последнего символа.
к упражнению 10
- Методом length считаем общее количество символов
- Методом charAt(...) находится значение первого и последнего символа
- Методом \n создается перенос строки
- Не забываем про пробелы в выводе результатов.
System.out.println("First: " + text.charAt(0) + "\nLast: " + text.charAt(text.length()-1));
Просто надо привыкнуть, что Java рождался из C языков. Там все массивы с 0))) Строки - это тож массивы(точнее не массивы а ссылки). Тем кто начинал с Basic или Pascal сложнее, там со строками проще иногда.
В этой ветке все активно обсуждают задание номер 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);
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);
Всем привет , начинаю учиться и много не понимаю, можете пожалуйста объяснить мне . В ваших решениях многие пишут "First" , но я не видел этой информации в уроках. Откуда это взялось или что изучить , что бы понять почему это нужно писать в код? Пример : System.out.println( First" + n.charAt(0) +"\nLast: " + t.charAt(t.length() -1));
В задании написано, что нужно создать только одну переменную и записать в нее все выражение ДО вывода на экран! Поэтому создаем переменную и записываем в нее составное выражение с конкатенацией строк с методами и символом переноса строки. Чтобы получить последний символ, нужно в атрибут метода получения символа вместо индекса вставить метод подсчета количества символов и вычесть 1 (так как индекс считается от 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);
Скорее всего так наиболее понятнее, что от куда взялось.
Never forget what you are, for surely the world will not.charAt(0)
N
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));
System.out.println("First: "+text.charAt(0)+"\nLast: "+text.charAt(55));
Мой вариант : 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));
мне кажется так будет понятнее что откуда берется:
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));