Загрузка...

Счёт букв в Java

plant.length() считает буквы, которые plant уже хранит. String plant = "leaf"; по-прежнему хранит leaf, и System.out.println(plant.length()) пишет 4. Буквы остаются leaf. Они не становятся числом. Точка после имени — это вопрос, и пишущая строка показывает ответ.

Точка спрашивает, сколько букв

Откройте Mint.java. Имя файла остаётся Mint.java, потому что public class Mint по-прежнему имя файла. Эта страница не переименовывает файл и не меняет public class Mint. Прошлая страница хранила String plant = "leaf"; и пишущую строку, которая показывала leaf. Эта страница оставляет ту строку хранения. Сотрите строку int, если она ещё там, со страницы до кавычек. Сотрите любую строку import, любую строку reader и любую строку nextLine. Файл, который вы оставляете, не содержит import, Scanner и nextLine. Неиспользуемый import сам по себе не заставляет javac завершиться с ошибкой и не пишет счёт. Счёт пишет только та пишущая строка, которая задаёт вопрос.

Внутри main строка хранения по-прежнему String plant = "leaf";. String — слово вида. plant — имя, и оно начинается с маленькой p. Кавычки держат l, e, a, f, все маленькие, и между ними больше ничего нет. Эта строка хранит буквы. Она не задаёт вопрос и не пишет экран. Вопрос — следующая работа, после того как буквы сохранены. После имени вы пишете точку, затем слово вопроса length, затем пару скобок, внутри которых ничего нет. Весь вопрос — plant.length(). Точка привязывает вопрос к имени. length — слово вопроса для счёта. Пустые скобки говорят, что этому вопросу не нужно лишнее слово внутри. Номера места здесь нет. В файле, который вы оставляете, этот вопрос стоит внутри второй пишущей строки. Это не отдельная строка. Спрашивать — не хранить. Буквы имени остаются leaf. Вопрос не снимает кавычки и не кладёт число 4 внутрь имени plant.

Файл, который вы оставляете, сначала пишет буквы, потом задаёт вопрос. Первая пишущая строка — голое имя: System.out.println(plant);. Без кавычек и без точки. Она пишет leaf и заканчивает строку, как на прошлой странице. Вторая пишущая строка — вопрос: System.out.println(plant.length());. Кавычек вокруг length нет. Java читает имя plant, считает буквы, которые это имя хранит, пишет этот счёт и заканчивает строку. Для файла, который вы оставляете, счёт равен 4. Кавычек на экране нет. Слова length на экране нет. Скобок на экране нет. Собственных букв имени, p, l, a, n, t, на экране нет. Сохраните файл.

Файл, который вы оставляете

Сохраните это как Mint.java. Это файл, который оставляет эта страница. Одна строка хранения, String plant = "leaf";. Одна пишущая строка для букв. Одна пишущая строка для счёта. Строка счёта — это plant.length() внутри println. Больше ничего.

файл, который вы оставляете

java
public class Mint {
    public static void main(String[] args) {
        String plant = "leaf";
        System.out.println(plant);
        System.out.println(plant.length());
    }
}

Читайте сверху. public class Mint называет файл. Он не пишет экран. public static void main(String[] args) — место, где Java начинает. Слово String в той строке main по-прежнему не строка хранения. Строка хранения — следующая, String plant = "leaf";. Она хранит четыре буквы. Она ничего не пишет. System.out.println(plant); пишет leaf и заканчивает строку. System.out.println(plant.length()); пишет 4 и заканчивает строку. Две строки на экране. Первая строка — буквы. Вторая строка — счёт. Кавычки остаются в файле, вокруг leaf, и их нет ни на одной из двух строк экрана.

Что показывает экран

В папке, где лежит этот Mint.java, напишите javac Mint.java. Когда файл верен, эта команда не пишет ни одной строки. Вопрос после точки сам по себе не заставляет javac написать строку и не заставляет javac завершиться с ошибкой. Затем напишите java Mint. Не пишите .java после java. Это те же две команды, которые вы пишете в Windows и в macOS. Эта страница не цитирует приглашение оболочки. Программа пишет leaf, затем 4 на следующей строке. Она не ждёт, пока вы напечатаете. Буквы уже были в файле, и счёт отвечает по этим буквам. Если java Mint ждёт, nextLine всё ещё в файле. Сотрите эту строку и оставьте строку хранения и две пишущие строки. Программа заканчивает после второй пишущей строки.

Экран показывает leaf, затем 4. Четыре маленькие буквы, затем счёт, без кавычек ни на одной из двух строк. Если экран показывает plant, у пишущей строки кавычки вокруг имени: System.out.println("plant");. Эти кавычки держат буквы p, l, a, n, t, поэтому сохранённый leaf не пишется и вопрос не задаётся. Если экран показывает только leaf, второй пишущей строки нет. Файл, который вы оставляете, содержит обе строки: сначала буквы, потом счёт. Если экран показывает только 4, первой пишущей строки нет. Буквы могут оставаться в файле, но проверка этой страницы — экран: leaf, затем 4. Если экран показывает 4, затем leaf, две пишущие строки поменяны местами. Поставьте println(plant) над println(plant.length()). Если экран показывает 5, счёт неверен для этих букв. Кавычки — не буквы, которые хранит имя, поэтому они не входят в 4. Пятая буква должна была бы стоять между кавычками. Файл, который вы оставляете, содержит только l, e, a, f. Если экран показывает mint, вы всё ещё на более старом файле. Если экран показывает leaf и затем снова leaf, вторая пишущая строка — ещё один println(plant), а не вопрос. Вы не ставите Java заново из-за того, что экран показывает не ту строку.

Большая буква между кавычками считается за одну букву, как и маленькая. String plant = "Leaf"; всё равно заставляет plant.length() написать 4. Пишущая строка букв показывает Leaf, с большой L. Файл, который вы оставляете, этого не использует. Он использует четыре маленькие буквы, и строка счёта пишет 4. Судите о счёте по буквам, которые действительно стоят между кавычками.

Счёт можно сохранить под вторым именем. int count = plant.length(); берёт ответ, и слово вида — int, потому что ответ — целое число. Затем System.out.println(count); пишет 4. Это разрешено. Это не файл, который вы оставляете. Оставленный файл пишет вопрос прямо, поэтому экран — leaf, затем 4, и второе имя не нужно, чтобы увидеть счёт. Число 4 — ответ. Оно не заменяет буквы внутри plant.

Пробел считается за один

Буквы между кавычками могут смениться, и счёт следует за этими буквами. Под первым вопросом сохраните новый набор букв в то же имя и задайте вопрос снова. Новая строка хранения — plant = "leaf stem";. Она не начинается со String. plant уже есть, поэтому эта строка только меняет буквы, которые хранит имя. Между кавычками девять мест: l, e, a, f, пробел, s, t, e, m. Пробел — одно из них. length его считает. Два слова остаются одним сохранённым значением, а не двумя именами. Этот второй файл не пишет буквы. Он пишет только два счёта, чтобы экран не смешался с самими буквами.

Это второй файл. Это не файл, который вы оставляете. Файл, который вы оставляете, имеет одну строку хранения, буквы leaf, ни одного пробела и экран leaf, затем 4. Сохраните этот второй файл как Mint.java, когда хотите увидеть посчитанный пробел, а затем верните оставленный файл.

пробел, который считает length

java
public class Mint {
    public static void main(String[] args) {
        String plant = "leaf";
        System.out.println(plant.length());
        plant = "leaf stem";
        System.out.println(plant.length());
    }
}

Напишите javac Mint.java. Файл верен, поэтому javac не пишет ни одной строки. Вторая строка хранения может не писать String, и это отсутствие не заставляет javac завершиться с ошибкой. Затем напишите java Mint. Экран показывает 4, а следующая строка — 9. Две строки. Без кавычек. Букв leaf на экране нет. Букв leaf stem на экране тоже нет. Там только счёты. Первый счёт берётся из букв, которые имя хранило в тот момент. Второй счёт берётся из букв, которые имя хранит после plant = "leaf stem";. Если вторая строка — 8, между кавычками нет пробела, и сохранённые буквы — leafstem. Если обе строки — 4, второй строки хранения нет или она всё ещё говорит "leaf". Если обе строки — 9, первая строка хранения уже говорит "leaf stem". Экран следует порядку строк в файле и буквам между кавычками, включая пробел.

Не пишите String второй раз для того же имени. String plant = "leaf stem";, поставленное под строкой, которая уже создала plant, — другая ошибка. Эта строка пытается создать plant ещё раз. javac пишет ошибку и не остаётся тихим. Точные слова этой ошибки вам не нужны. Пока не пишите java Mint. Сотрите второй String и оставьте plant = "leaf stem";. Имя создаётся один раз. Следующие строки только меняют буквы, которые оно хранит, или задают вопрос об этих буквах. В файле, который вы оставляете, второй строки хранения нет. После того как вы увидели 4 и затем 9, верните тот файл: String plant = "leaf";, println(plant) и println(plant.length()).

Какая буква на каком месте

length спрашивает, сколько. Другой вопрос спрашивает, какая буква стоит на месте. Слово вопроса — charAt. Место идёт внутрь скобок, потому что этому вопросу нужно это лишнее слово. Первое место — 0, не 1. В leaf место 0 держит l, место 1 держит e, место 2 держит a, место 3 держит f. plant.charAt(0) отвечает одной буквой l. plant.charAt(1) отвечает одной буквой e. Ответ — буква, не целое слово leaf и не номер места. Буквы, сохранённые в plant, остаются leaf. Вопрос об одном месте не стирает остальные.

Это третий файл. Это не файл, который вы оставляете. Файл, который вы оставляете, спрашивает length, и его экран — leaf, затем 4. Сохраните этот третий файл как Mint.java, когда хотите увидеть места, а затем верните оставленный файл.

два первых места

java
public class Mint {
    public static void main(String[] args) {
        String plant = "leaf";
        System.out.println(plant.charAt(0));
        System.out.println(plant.charAt(1));
    }
}

Напишите javac Mint.java. Файл верен, поэтому javac не пишет ни одной строки. Номер места внутри скобок не заставляет javac завершиться с ошибкой, когда это место — одна из букв. Затем напишите java Mint. Экран показывает l, а следующая строка — e. Две строки. Без кавычек. Слова leaf на экране нет. Чисел 0 и 1 на экране нет. Если первая строка — e, первый вопрос просил место 1, а это вторая буква. Первая буква — место 0. Если первая строка — leaf, пишущая строка — println(plant), а не charAt. Если первая строка — 0, пишущая строка написала номер места и не спросила charAt. Если обе строки — l, оба вопроса говорят charAt(0). Место 2 пишет a. Место 3 пишет f. Эти два места есть в leaf. Этот третий файл их не спрашивает. Он спрашивает 0, затем 1, чтобы вы увидели, что счёт начинается с 0.

Место, где буквы нет

Место 4 — не одна из букв leaf. Счёт равен 4, а места, которые есть, — 0, 1, 2 и 3. Смените первый вопрос на plant.charAt(4) и оставьте остальное третьего файла. Напишите javac Mint.java. javac не пишет ни одной строки. Строка — разрешённый вопрос, поэтому отсутствующая буква не ошибка javac. Затем напишите java Mint. Программа пишет ошибку. Она не пишет пятую букву и не пишет 4. Точные слова этой ошибки вам не нужны. Полезный факт: сбой происходит, когда программа выполняется, а не когда javac читает файл. Верните charAt(0) и charAt(1), если вам ещё нужны эти две строки, а затем верните оставленный файл. Не оставляйте charAt(4) в файле, который вы оставляете.

Пустая пара имеет счёт 0. String plant = ""; не хранит ни одной буквы. System.out.println(plant.length()); пишет 0. javac не пишет ни одной строки, потому что пустая пара разрешена. java Mint пишет 0 и заканчивает. Он не ждёт. Пустая строка — это то, что println(plant) писал на прошлой странице. Вопрос другой: экран показывает цифру 0, это счёт, а не пустая строка. plant.charAt(0) на этой пустой паре — место, где буквы нет. javac по-прежнему не пишет ни одной строки. java Mint пишет ошибку, потому что месту 0 нужна буква, а счёт равен 0. После того как вы увидели 0, снова сделайте строку хранения String plant = "leaf";.

Скобки — часть вопроса. System.out.println(plant.length); имеет точку и слово length и не имеет скобок. javac пишет ошибку. Он не остаётся тихим. Экрана для чтения нет, потому что вы не пишете java Mint, пока javac пишет ошибку. Точные слова вам не нужны. Верните пустую пару скобок, чтобы строка стала System.out.println(plant.length());. charAt не может быть пустым. System.out.println(plant.charAt()); пишет ошибку у javac, потому что этому вопросу нужно место. Положите внутрь скобок место, которое есть, например 0, когда вы на третьем файле. Файл, который вы оставляете, использует length(), и между скобками ничего нет.

Вопрос пишется после имени. System.out.println(length()); считает length именем, которого в этом файле нет. javac пишет ошибку. Слово вопроса стоит после plant и точки. System.out.println(plantlength()); тоже имя, plantlength, и этого файла у него нет. Точка отделяет имя от вопроса. Имя должно существовать до строки, которая его использует. Если System.out.println(plant.length()); написано над String plant = "leaf";, javac пишет ошибку. Вопрос называет plant до того, как plant существует. Перенесите строку хранения выше пишущих строк. Это тот же порядок, который вы уже использовали для count и для reader.

Вопрос — для букв, а не для целого числа, которое вы сохранили через int. int count = 4; и System.out.println(count.length()); спрашивают у целого числа, сколько букв оно хранит. javac пишет ошибку. У целого числа нет вопроса length. Починка на этой странице — не только добавить скобки. Починка — задать вопрос имени, которое хранит буквы: plant.length(). Страница до кавычек хранила int и хранила 4, без вопроса. Прошлая страница хранила String и хранила "leaf". Эта страница хранит String, хранит "leaf" и спрашивает length.

Теперь вы можете спросить, сколько букв имя уже хранит, и какая буква стоит на месте, счёт которого начинается с 0. String plant = "leaf"; по-прежнему хранит leaf. System.out.println(plant); пишет leaf. System.out.println(plant.length()); пишет 4, и буквы остаются leaf. Более поздний plant = "leaf stem"; делает следующий счёт равным 9, потому что пробел считается за один. plant.charAt(0) пишет l, а plant.charAt(1) пишет e. Место, где буквы нет, например 4 для leaf, оставляет javac тихим и заставляет java Mint написать ошибку. length без скобок заставляет javac написать ошибку. Следующая страница оставляет эти вопросы. Она остаётся с целым числом вроде той 4, которую написал этот счёт, и это число вы снова пишете в файле.

Экран показывает ответ, буквы остаются

Файл, который вы оставляете, пишет leaf, затем 4. Имя в первой пишущей строке — plant, и plant на экране нет. length есть в файле, после точки, и на экране его нет. Кавычки остаются вокруг leaf. Они не считаются и на экране их нет. Пробел между кавычками считается. Первое место — 0.

🧠 Проверьте Свои Знания

Готов к Началу

Проверьте Свои Знания

Бросьте себе вызов с помощью этой интерактивной викторины и узнайте, насколько хорошо вы понимаете тему

❓
6
Вопросы
🎯
70%
Для Прохождения
♾️
∞
Время
🔄
∞
Попытки

📝 Инструкции

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