Menu
CoddyTech

Форматирование строк

Часть раздела Основы путешествия по Java на Coddy. Урок 69 из 73.

В Java String.format() — это мощный метод для создания форматированных строк. Он позволяет объединять текст с переменными в удобном для чтения и гибко настраиваемом виде. Этот метод использует спецификаторы формата, чтобы определить, как переменные должны вставляться в строку.

Основной синтаксис String.format():

String formattedString = String.format("format_string", arg1, arg2, ...);
  • format_string: строка, содержащая текст и спецификаторы формата.
  • arg1, arg2, ...: переменные, которые вставляются в format_string.

Вот несколько распространённых спецификаторов формата:

  • %s: вставляет строку.
  • %d: вставляет десятичное целое число.
  • %f: вставляет число с плавающей точкой.
  • %b: вставляет логическое значение.
  • %c: вставляет символ.
  • %n: вставляет символ новой строки.

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

  • %.2f: форматирует число с плавающей точкой с 2 знаками после десятичной точки.
  • %10s: вставляет строку, выравнивая её по правому краю в поле шириной 10 символов.
  • %-10s: Вставляет строку, выровненную по левому краю в поле шириной 10 символов.
  • %03d: Вставляет целое число, дополняя его ведущими нулями до ширины в 3 цифры.

Вот пример:

String name = "Alice";
int age = 30;
double price = 19.99;

String formatted = String.format("Name: %s, Age: %d, Price: %.2f", name, age, price);
System.out.println(formatted);
// Вывод: Name: Alice, Age: 30, Price: 19.99

В этом примере %s заменяется на name, %d — на age, а %.2f — на price, отформатированный с точностью до двух знаков после запятой.

challenge icon

Задание

Легко

Создай метод с именем createFormattedString, который принимает следующие аргументы:

  1. Строку productName.
  2. Целое число quantity.
  3. Число типа double unitPrice.

Метод должен возвращать отформатированную строку, объединяющую эти значения в следующем формате:

Product: [productName], Quantity: [quantity], Unit Price: [unitPrice]

Отформатируй unitPrice с пятью знаками после запятой, а quantity — с одним знаком после запятой (преобразуй его в double).

Например, если productName равно "laptop", quantity равно 3, а unitPrice равно 1299.9999, метод должен вернуть:

Product: laptop, Quantity: 3.0, Unit Price: 1299.99990

Попробуйте сами

import java.util.Scanner;

public class Main {
    public static String createFormattedString(String productName, int quantity, double unitPrice) {
        // Напишите здесь свой код
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String product = scanner.nextLine();
        int qty = scanner.nextInt();
        double price = scanner.nextDouble();
        String formattedString = createFormattedString(product, qty, price);
        System.out.println(formattedString);
    }
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Онлайн-компилятор Java