#string #list #iteration #processing
#строка #Список #итерация #обработка
Вопрос:
String d = "word";
for (int j = 0; j < 22; j ) {
String item = inventory.get(j);
textSize(25);
fill(255,0,255);
if (item != d){
text(item,w,h);
}
}
Он не распознает d и все еще помещает его вместе с текстом.
Это обработка. элемент — это список строк, по которому я пытаюсь выполнить итерацию. Я хочу, чтобы все слова в списке, за исключением d, которое является «word», отображались в виде текста на экране.
Комментарии:
1. Было бы полезно, если бы вы могли прояснить проблему. «Не распознает d?» d не распознается как переменная или содержимое переменной не распознается? И это C #? Какая предполагаемая функция кода? Найдите время, чтобы немного объяснить, и вы получите лучшие ответы.
2. Круто, я попытался отредактировать его, чтобы добавить немного больше деталей.
3. Что это за язык? И что такое «инвентаризация»? «элемент», похоже, является строкой, а не списком строк.
4. Язык называется processing. Это как Java и C , упс, я виноват. Инвентаризация списка строк; инвентаризация — это список строк. элемент находится в инвентаре.получите(j) j-ю вещь в инвентаре.
5. Ага, я прочитал это как «обработка строк» 🙂 Тогда я не знаю. Но, может быть, вы могли бы посмотреть, есть ли функция сравнения строк, которую вы могли бы использовать вместо
!=
?
Ответ №1:
вместо этого попробуйте использовать whit !d.equals(item)
. лучше сравнивать классы с таким методом.
С уважением Хосе
Комментарии:
1. Это не просто лучше, это совершенно другой вид сравнения. != сравнивает, указывают ли две ссылки на один и тот же объект или нет, и .equals сравнивает содержимое двух ссылок. Я чувствую, что это должно быть разъяснено, чтобы эта ошибка не повторилась в будущем.