Нашел задачу со строками. Условие здачи: ввести 2 слова, состоящие из четного числа букв. Получить слово состоящее из первой половины первого слова и второй половины второго слова.
В первом варианте решения, у нас есть два слова которые хранятся в двух переменных str1 и str2. Также создаем третью переменную типа String, где будем хранить наше новое слово. Воспользуемся методом substring(x,y) который возвращает строку с символа x по символ y, а также методом length() - который возвращает длину строки. Думаю дальше логику работы программы будет не сложно понять.
public class Main {
public static void main(String[] args) {
String str1 = "ГОРА";
String str2 = "РОГА";
System.out.println("Первое слово = " + str1);
System.out.println("Второе слово = " + str2);
String str3 = (str1.substring(0, str1.length()/2)) +
(str2.substring(str2.length()/2, str2.length()));
System.out.println(str3);
}
}
Во втором варианте решения воспользуемся специальным классом StringBuffer. Главным отличием от String это то что объекты класса String являются неизменяемыми. Поэтому создается впечатление что вы меняете строку, а на самом деле вы создаете новую строку. StringBuffer допускает изменения строки.
С помощю метода append() добавим слова. Метод delete(x,y) удаляет символы в строке с x по y. Ну далее я думаю все наглядно понятно.
public class Main {
public static void main(String[] args) {
StringBuffer str3 = new StringBuffer();
StringBuffer str4 = new StringBuffer();
str3.append("МОЛОКО");
str4.append("ВЕРОЯТНО");
int l3 = str3.length();
int l4 = str4.length();
System.out.println("Первое слово = " + str3 + " количество букв " + l3);
System.out.println("Второе слово = " + str4 + " количество букв " + l4);
int d1 = l3/2;
int d2 = l4/2;
str3.delete(d1, l3);
str4.delete(0, d2);
System.out.println(str3.toString() + str4.toString());
}
В дальнейшем организовать ввод слов пользователем не составит труда реализовать с помощью класса Scanner.
Комментариев нет:
Отправить комментарий