При попытке запустить небольшую программу на java я получаю следующую ошибку:
HangmanSB.java:19: error: unexpected type
if (sentence.charAt(i) = " "){
^
required: variable
found: value
1 error
Я попытался прочитать ответы на аналогичный вопрос, размещенный на этом веб-сайте, но все еще не могу понять, как исправить ошибку, которую выдает мне программа.
import java.util.Scanner;
class HangmanSB {
public static void main(String[] args){
Scanner keyboard = new Scanner(System.in);
String sentence = keyboard.nextLine();
int turns = keyboard.nextInt();
for (int turnsLeft = turns; turnsLeft > 0; turnsLeft--){
int length = sentence.length();
for (int i = 0; i < length; i++){
if (sentence.charAt(i) = " "){
System.out.println(" ");
}
else {
System.out.print("_");
}
}
}
}
}
= - это оператор присваивания, == - оператор сравнения на равенство. Вы не можете назначить что-либо для вызова функции.
Компилятор жалуется на присвоение = вместо ==, символы тоже должны быть заключены в одинарные кавычки




Есть две ошибки:
public char charAt(int index) метод возвращает char
а также
вам нужно использовать == вместо оператора присваивания =
Таким образом используйте:
if (sentence.charAt(i) == ' '){
System.out.println(" ");
}
ваша ошибка здесь:
if (sentence.charAt(i) = " ")
измените это на это
if (sentence.charAt(i) == ' ')
используйте == для сравнения int или char
Если я это сделаю, я получаю следующую ошибку: HangmanSB.java:19: error: несовместимые типы: char и String if (offer.charAt (i) == "") {^ 1 error
Также неправильные двойные кавычки. Должен быть ' ' (символ) вместо " " (строка).
if (sentence.charAt(i) == ' '){
Правильное решение, но было бы хорошо объяснить, почему это исправление, чтобы они могли изучить и понять и избежать проблем в будущем.
Есть 2 типа ошибок = и " "
Для сравнения значения char используйте ' ' и ==.
Как это :
if (sentence.charAt(i) == ' ')
Возможный дубликат Как проверить, равен ли символ пустому пространству?