Java: Переменные и конкатенация
Переменные и конкатенацию можно объединять. Синтаксически ничего не меняется, ведь мы умеем конкатенировать — то есть склеивать две строки:
var what = "Kings" + "road";
System.out.println(what); // => KingsroadЗначит, мы сумеем конкатенировать строку и одну переменную, в которой записана строка:
var first = "Kings";
var what = first + "road";
System.out.println(what); // => KingsroadМожно даже конкатенировать две переменные, в которых записаны строки:
var first = "Kings";
var last = "road";
var what = first + last;
System.out.println(what); //=> KingsroadЗадание
Сайты постоянно посылают письма своим пользователям. Типичная задача — сделать автоматическую отправку персонального письма, где в заголовке будет имя пользователя. Если где-то в базе сайта хранится имя человека в виде строки, то задача генерации заголовка сводится к конкатенации: например, нужно склеить строку Здравствуйте со строкой, где записано имя.
Напишите программу, которая будет генерировать заголовок и тело письма, используя уже готовые переменные, и выводить получившиеся строки на экран.
Для заголовка используйте переменные firstName и greeting, запятую и восклицательный знак. Выведите это на экран в правильном порядке.
Для тела письма используйте переменные info и intro, при этом второе предложение должно быть на новой строке.
Результат на экране будет выглядеть так:
Hello, Joffrey!
Here is important information about your account security.
We couldn't verify you mother's maiden name.Выполните задание, используя только два System.out.println().
Полезное
Подумайте, с какой строкой и в каком порядке нужно склеивать переменные, чтобы получить такой двухстрочный вывод тела письма.
Помните, что можно создать строку, которая содержит только управляющую последовательность
\n.
Ваше упражнение проверяется по этим тестам
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import static org.assertj.core.api.Assertions.assertThat;
class Test {
public static void main(String[] args) {
final var expected = "Hello, Joffrey!\n"
+ "Here is important information about your account security.\n"
+ "We couldn't verify you mother's maiden name.";
App.main(null);
ByteArrayOutputStream out = new ByteArrayOutputStream();
System.setOut(new PrintStream(out));
App.main(null);
final var actual = out.toString().trim();
assertThat(actual).isEqualTo(expected);
}
}Решение учителя откроется через:
20:00
