Member 13439463 Ответов: 1

Выполните сопоставление введенного предложения с помощью ключевого слова


Примечание: это будет немного плохо для меня, чтобы перевести, но не смотрите вверх

Я пишу программу и теперь я введу текст в программу и используя это ключевое слово чтобы соответствовать этому тексту это что то связанное с уроками но у меня есть проблема
Я определил ключевое слово я назначил имя переменной
int a
Приставка.Напишите ("Введите Свое Предложение");
преобразование.Toint32 (Консоль.Линия чтения ());
if (ключевое слово = = a)
{
Предложение, связанное с математикой
здесь проблема в том, что слово программы-это не слово, но это все cümlenle моя цель состоит в том, чтобы сравнить слова со словами cümlen один за другим, как начать здесь я попробовал разделить команду, но мне это не удалось

Что я уже пробовал:

Console.Write ("Enter Your Sentence");
a = Convert.Toint32 (Console.ReadLine ());
if (keyword == a)
{

1 Ответов

Рейтинг:
1

OriginalGriff

Возвращайтесь к струне.Раздельное решение-то, что у вас есть, не работает и не будет работать.
Вы читаете строку, но затем пытаетесь преобразовать ее в целое число - а слова обычно вообще не преобразуются в числа. Ни одно из предложений, которые я набрал до сих пор, даже не содержит слова, которое можно было бы преобразовать в целое число!
Строка.Метод Разделения (Char []) (System)[^]

Так что начните с этого:

Console.Write ("Enter Your Sentence: ");
string input = Console.ReadLine ();
string[] words = input.Split(' ');
И посмотрите, сможете ли вы сделать следующий кусочек сами.


Member 13439463

Приставка.Писать("Soruyu Giriniz: ");
строка Giriş = консоль.Линия чтения();
строка[] AnahtarKelimeler = Giriş. Split(' ');
если (Giriş = = " küme")
{
Приставка.Писать("Дерс Математик");
}
Приставка.ReadKey();
böyle bir kod yazdım ama sorunum şu bir kelime yazınca çalışıyor tamam ama benim istediğim bir cümle yazınca eğer içinde küme varsa ders matematik demesi

OriginalGriff

Нет, струна.Split не изменяет входную строку: он разбивает ее на отдельные строки, которые возвращает в массиве. Я сохранил этот массив строк в переменной под названием "слова", а вы сохранили его в переменной под названием"AnahtarKelimeler".
Я бы предложил посмотреть на массив, а не на входную строку...

Member 13439463

teşekkür ederim sayenizde kodu yaptım ama kodu kısaltmak istiyorum biraz
if (textBox1. Text. Contains("küme" | | "Kartezyen")) böyle birşey yaptım texbox daki değer küme veya kartezyen ise ders matematik demesini istiyorum bunu formda yapıorum ama hata alıyorum
Ошибка 1 оператор '| | 'не может быть применен к операндам типа 'string' и 'string' c:\users\win7\documents\visual studio 2010\Projects\WindowsFormsApplication2\WindowsFormsApplication2\Form1. cs 22 40 WindowsFormsApplication2
bunuda yanıtlarsan çok iyi olur şimdiden teşekkürler

OriginalGriff

Извините - это англоязычный сайт, и мы принимаем только вопросы и комментарии на этом языке.

Member 13439463

спасибо я сделал код но я хочу немного сократить код
если (элемент textbox1.Текст.Содержит ("установить" | "Декартовы")) Я сделал что то вроде этого я хотел бы назвать курс математикой если значение texBox является заданным значением или декартовым я делаю это в форме но получаю ошибку
Ошибка 1 оператор '||' с: \ пользователи \ с Win7 \ документы \ Visual Studio 2010 с \ проекты \ WindowsFormsApplication2 \ WindowsFormsApplication2 \ форму form1.КС 22 40 WindowsFormsApplication2
очень хорошо если вы ответите на этот вопрос заранее спасибо заранее

OriginalGriff

Вы не можете использовать оператор OR для строк: это не имеет никакого смысла.
Если вы пытаетесь найти все слова в предложении, которые соответствуют списку "известных слов", то настройте "известные слова" в виде массива строк:
строка[] knownWords = новая строка[] {"установить", "декартово", ...};
Используйте Split, чтобы разбить предложение на слова, а затем используйте Intersect, чтобы найти все слова в обоих массивах:
string[] inBoth = известные слова.Пересечение (wordsFromSentence).Метод toArray();