Logo
Книга для начинающих
ВходРегистрация
/
Программирование
/
Курс Java
/

Параметры методов

Java: Параметры методов

Метод length() не требует никаких уточнений. Он всегда работает однозначно и извлекает полную длину строки.

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

var searchEngine = "google";
// Возвращает первый символ (тип char)
searchEngine.charAt(0); // 'g'

Почему символ первый, а указан 0? В программировании отсчет начинается с нуля. Поэтому первый символ находится на нулевой позиции — «индекс 0».

Соответственно, у последнего символа индекс равен длине строки минус 1:

// google length => 6
searchEngine.charAt(5); // 'e'

Несколько параметров

Параметров может быть больше, чем один. Например, метод replace() работает с двумя, где первый — что заменить, а второй – на что:

searchEngine.replace("go", "mo"); // "moogle"

Значения по умолчанию

Параметры могут содержать значение по умолчанию там, где это значение используется чаще всего.

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

Этот метод принимает на вход:

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

По умолчанию берется строка до конца:

"hexlet".substring(1);    // "exlet"
"hexlet".substring(1, 2); // "e"
"hexlet".substring(1, 3); // "ex"
"hexlet".substring(3, 6); // "let"

Задание

Вам даны три переменные с фамилиями разных людей. Составьте и выведите на экран слово из символов в таком порядке:

  1. третий символ из первой строки;
  2. второй символ из второй строки;
  3. четвертый символ из третьей строки;
  4. пятый символ из второй строки;
  5. третий символ из второй строки.

Вывод результата должен быть примерно в таком виде:

a b c d e
Коммерческий опыт и Трудоустройство

Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются
/
Программирование
/
Курс Java
/

Параметры методов

Java: Параметры методов

Метод length() не требует никаких уточнений. Он всегда работает однозначно и извлекает полную длину строки.

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

var searchEngine = "google";
// Возвращает первый символ (тип char)
searchEngine.charAt(0); // 'g'

Почему символ первый, а указан 0? В программировании отсчет начинается с нуля. Поэтому первый символ находится на нулевой позиции — «индекс 0».

Соответственно, у последнего символа индекс равен длине строки минус 1:

// google length => 6
searchEngine.charAt(5); // 'e'

Несколько параметров

Параметров может быть больше, чем один. Например, метод replace() работает с двумя, где первый — что заменить, а второй – на что:

searchEngine.replace("go", "mo"); // "moogle"

Значения по умолчанию

Параметры могут содержать значение по умолчанию там, где это значение используется чаще всего.

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

Этот метод принимает на вход:

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

По умолчанию берется строка до конца:

"hexlet".substring(1);    // "exlet"
"hexlet".substring(1, 2); // "e"
"hexlet".substring(1, 3); // "ex"
"hexlet".substring(3, 6); // "let"

Задание

Вам даны три переменные с фамилиями разных людей. Составьте и выведите на экран слово из символов в таком порядке:

  1. третий символ из первой строки;
  2. второй символ из второй строки;
  3. четвертый символ из третьей строки;
  4. пятый символ из второй строки;
  5. третий символ из второй строки.

Вывод результата должен быть примерно в таком виде:

a b c d e
Коммерческий опыт и Трудоустройство

Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются
← ПредыдущийСледующий →
← ПредыдущийСледующий →
← ПредыдущийСледующий →

Ваше упражнение проверяется по этим тестам

import java.io.ByteArrayOutputStream;
import java.io.FileDescriptor;
import java.io.FileOutputStream;
import java.io.PrintStream;

import static org.assertj.core.api.Assertions.assertThat;

class Test {
    public static void main(String[] args) {
        final var expected = "h o d o r";

        ByteArrayOutputStream out = new ByteArrayOutputStream();
        System.setOut(new PrintStream(out));

        App.main(null);

        final var actual = out.toString().trim();

        System.setOut(new PrintStream(new FileOutputStream(FileDescriptor.out)));
        System.out.println(actual);

        assertThat(actual).isEqualTo(expected);
    }
}
← ПредыдущийСледующий →

Решение учителя откроется через:

20:00

waiting_clock
← ПредыдущийСледующий →