Урок 13: Форматирование строк и ввод/вывод данных
В этом уроке мы рассмотрим, как форматировать строки и работать с вводом и выводом данных в Java.
Форматирование строк
Форматирование строк в Java осуществляется с помощью метода String.format
или System.out.printf
. Пример:
public class StringFormatting {
public static void main(String[] args) {
String name = "Анна";
int age = 25;
double height = 1.75;
String formattedString = String.format("Имя: %s, Возраст: %d, Рост: %.2f", name, age, height);
System.out.println(formattedString);
System.out.printf("Имя: %s, Возраст: %d, Рост: %.2f\n", name, age, height);
}
}
Результат выполнения
Имя: Анна, Возраст: 25, Рост: 1.75
Имя: Анна, Возраст: 25, Рост: 1.75
Ввод данных
Для ввода данных с консоли можно использовать класс Scanner
. Пример:
import java.util.Scanner;
public class InputExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Введите ваше имя: ");
String name = scanner.nextLine();
System.out.print("Введите ваш возраст: ");
int age = scanner.nextInt();
System.out.printf("Имя: %s, Возраст: %d\n", name, age);
}
}
Результат выполнения
Введите ваше имя: Анна
Введите ваш возраст: 25
Имя: Анна, Возраст: 25
Упражнения
Упражнение 1: Форматирование строки с датой
Напишите программу, которая принимает текущую дату (год, месяц, день) и выводит её в формате дд/мм/гггг
.
Решение:
import java.util.Scanner;
public class DateFormatting {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Введите год: ");
int year = scanner.nextInt();
System.out.print("Введите месяц: ");
int month = scanner.nextInt();
System.out.print("Введите день: ");
int day = scanner.nextInt();
String formattedDate = String.format("%02d/%02d/%d", day, month, year);
System.out.println("Форматированная дата: " + formattedDate);
}
}
Объяснение: Мы используем метод String.format
для форматирования даты в формате дд/мм/гггг
. Методы %02d
добавляют ведущие нули для дня и месяца, если они меньше 10.
Упражнение 2: Ввод и форматирование строки
Напишите программу, которая принимает имя и фамилию пользователя, а затем выводит их в формате Фамилия, Имя
.
Решение:
import java.util.Scanner;
public class NameFormatting {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Введите ваше имя: ");
String firstName = scanner.nextLine();
System.out.print("Введите вашу фамилию: ");
String lastName = scanner.nextLine();
String formattedName = String.format("%s, %s", lastName, firstName);
System.out.println("Форматированное имя: " + formattedName);
}
}
Объяснение: Мы используем метод String.format
для форматирования имени и фамилии в формате Фамилия, Имя
.