Бесплатный курс по java. Зарегистрируйтесь для отслеживания прогресса →

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

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

// При определении метода тип указывать обязательно
public static char getLastChar(String str) {
    // Вычисляем индекс последнего символа
    // извлекаем и возвращаем наружу
    return str.charAt(str.length() - 1);
}

App.getLastChar("Hexlet"); // 't'
App.getLastChar("Goo"); // 'o'

У метода getLastChar() ровно один параметр типа String. Параметр обязателен. Если попробовать вызвать метод без параметра, то компилятор выдаст ошибку:

method getLastChar in class App cannot be applied to given types;
  required: String
  found:    no arguments
  reason: actual and formal argument lists differ in length

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

// Метод по нахождению среднего числа
// Возвращаемый тип double
public static double average(int x, int y) {
    return (x + y) / 2;
}

App.average(1, 5); // 3.0
App.average(1, 2); // 1.5

Задание

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

// Первый параметр – сама строка, второй – число символов, которые нужно оставить
var result = App.truncate("Три закона робототехники придумали кожаные мешки, но мы их перехитрим", 48);
// "Три закона робототехники придумали кожаные мешки..."

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются https://github.com/hexlet-basics
Если вы столкнулись с трудностями и не знаете, что делать, задайте вопрос в нашем большом и дружном сообществе