Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Нужна помощь в написании программы на Java

Nika Ученик (107), на голосовании 1 год назад
Дано слово. Добавить к нему в начале и конце столько звездочек, сколько букв в этом слове (Пример: дано слово "код". Вывод в консоль: ***код***).

Даны два слова. Опрелелить, можно ли из букв первого из них получить второе. Рассмотреть два варианта:
1) повторяющиеся буквы второго слова могут в первом слове не повторяться:
2) каждая буква второго слова должна входить в первое слово столько же раз, сколько и во второе.
Голосование за лучший ответ
Давид Мейстер Мастер (2089) 1 год назад
1) Для добавления звездочек к слову в начале и конце нужно использовать следующий код:
 String word = "код";
String stars = "";
for (int i = 0; i < word.length(); i++) {
stars += "*";
}
System.out.println(stars + word + stars);
2) Для проверки, можно ли из букв первого слова получить второе, можно использовать следующий код:
 String word1 = "мама";   
String word2 = "амам";
boolean canBeMade = true;

for (int i = 0; i < word2.length(); i++) {
char chk = word2.charAt(i);
if (word1.indexOf(chk) == -1) {
canBeMade = false;
break;
}
word1 = word1.substring(0, word1.indexOf(chk)) + word1.substring(word1.indexOf(chk) + 1);
}

System.out.println("Результат: " + canBeMade);

В данном случае, код проверит, можно ли из букв слова "мама" получить слово "амам", и вернет результат "true". Если слово "амам" было изменено, например, на "амаам", результат будет "false".
ОракулОракул (62095) 1 год назад
ты тоже жэпэтэшной прокладкой заделался?
Давид Мейстер Мастер (2089) Оракул, Нет, я просто отвечал на подобный вопрос, вот и взял из прошлых ответов
Евгений Курсодев Ученик (169) 1 год назад
 import java.util.Scanner; 

public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Введите слово: ");
String word = scanner.nextLine();
String stars = "*".repeat(word.length());
String result = stars + word + stars;
System.out.println(result);
}
}
2:
 import java.util.HashMap; 
import java.util.Map;
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Введите первое слово: ");
String word1 = scanner.nextLine();
System.out.print("Введите второе слово: ");
String word2 = scanner.nextLine();

Map count1 = new HashMap<>();
for (char letter : word1.toCharArray()) {
count1.put(letter, count1.getOrDefault(letter, 0) + 1);
}

Map count2 = new HashMap<>();
for (char letter : word2.toCharArray()) {
count2.put(letter, count2.getOrDefault(letter, 0) + 1);
}

boolean canBeObtained = true;
for (char letter : count2.keySet()) {
if (!count1.containsKey(letter) || count2.get(letter) > count1.get(letter)) {
canBeObtained = false;
break;
}
}

if (canBeObtained) {
System.out.println("Можно получить второе слово из первого");
} else {
System.out.println("Нельзя получить второе слово из первого");
}
}
}
Похожие вопросы