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

Не получается найти буква при пойске помогите где ошибся я

tariel mamytov Ученик (79), открыт 2 недели назад
import java.util.Random;
import java.util.Scanner;

public class WordGuessingGame {
private static final String[][] CATEGORIES = {
{"Животные", "кот", "собака", "слон", "тигр", "панда"},
{"Города", "москва", "париж", "лондон", "берлин", "токио"},
{"Фрукты", "яблоко", "банан", "апельсин", "груша", "киви"}
};

private static String selectedCategory;
private static String selectedWord;
private static StringBuilder currentGuess;
private static int score;

public static void main(String[] args) {
selectCategory();
selectWord();
playGame();
}

private static void selectCategory() {
Random random = new Random();
int categoryIndex = random.nextInt(CATEGORIES.length);
selectedCategory = CATEGORIES[categoryIndex][0];
System.out.println("Выбранная категория: " + selectedCategory);
}

private static void selectWord() {
Random random = new Random();
int wordIndex = random.nextInt(CATEGORIES[0].length - 1) + 1; // +1 чтобы не выбрать название категории
selectedWord = CATEGORIES[0][wordIndex];
currentGuess = new StringBuilder("*".repeat(selectedWord.length()));
System.out.println("Загаданное слово: " + currentGuess);
}

private static void playGame() {
Scanner scanner = new Scanner( System.in );
boolean wordGuessed = false;

while (!wordGuessed) {
System.out.print("Введите букву: ");
char letter = scanner.nextLine().toLowerCase().charAt(0);
boolean found = false;

for (int i = 0; i < selectedWord.length(); i++) {
if (selectedWord.charAt(i) == letter) {
currentGuess.setCharAt(i, letter);
found = true;
score++;
}
}

if (found) {
System.out.println("Текущий статус слова: " + currentGuess);
} else {
System.out.println("Нет такой буквы.");
}

if (currentGuess.toString().equals(selectedWord)) {
wordGuessed = true;
System.out.println("Игра окончена! Загаданное слово: " + selectedWord);
System.out.println("Ваши очки: " + score);
}
}

scanner.close();
}
}
2 ответа
ghghvdcghddy ecbhdbhegeg Ученик (121) 2 недели назад
Можешь поточнее вопрос сформулировать и скрин с ошибкой если можно
СварогИскусственный Интеллект (135750) 2 недели назад
Судя по букве ,,й" в слове поИске,то тараканы в голове точнее вопрос сформулировать не дадут.
Sergio 2.1 Оракул (67204) 2 недели назад
 import java.util.Random; 
import java.util.Scanner;

public class WordGuessingGame {
private static final String[][] CATEGORIES = {
{"Животные", "кот", "собака", "слон", "тигр", "панда"},
{"Города", "москва", "париж", "лондон", "берлин", "токио"},
{"Фрукты", "яблоко", "банан", "апельсин", "груша", "киви"}
};

private static String selectedCategory;
private static String selectedWord;
private static StringBuilder currentGuess;
private static int score;

public static void main(String[] args) {
selectCategory();
selectWord();
playGame();
}

private static void selectCategory() {
Random random = new Random();
int categoryIndex = random.nextInt(CATEGORIES.length);
selectedCategory = CATEGORIES[categoryIndex][0];
System.out.println("Выбранная категория: " + selectedCategory);
}

private static void selectWord() {
Random random = new Random();
int categoryIndex = -1;
for (int i = 0; i < CATEGORIES.length; i++) {
if (CATEGORIES[i][0].equals(selectedCategory)) {
categoryIndex = i;
break;
}
}

int wordIndex = random.nextInt(CATEGORIES[categoryIndex].length - 1) + 1;
selectedWord = CATEGORIES[categoryIndex][wordIndex];
currentGuess = new StringBuilder("*".repeat(selectedWord.length()));
System.out.println("Загаданное слово: " + currentGuess);
}

private static void playGame() {
Scanner scanner = new Scanner(System.in);
boolean wordGuessed = false;

while (!wordGuessed) {
System.out.print("Введите букву: ");
char letter = scanner.nextLine().toLowerCase().charAt(0);
boolean found = false;

for (int i = 0; i < selectedWord.length(); i++) {
if (selectedWord.charAt(i) == letter) {
currentGuess.setCharAt(i, letter);
found = true;
score++;
}
}

if (found) {
System.out.println("Буква найдена! Текущее слово: " + currentGuess);
} else {
System.out.println("Такой буквы нет в слове. Попробуйте еще раз.");
}

if (currentGuess.toString().equals(selectedWord)) {
wordGuessed = true;
System.out.println("Поздравляем! Вы угадали слово: " + selectedWord);
System.out.println("Ваш счет: " + score);
}
}
scanner.close();
}
}
Похожие вопросы