Как правильно структурировать/переписать этот код ?
class Program { static void Main(string[] args) { char c = 'x'; Console.Write("Input string: "); string str = Console.ReadLine(); for (int i = 0; i < str.Length; i++) { c = str[i]; if (System.Char.IsSymbol(c) || System.Char.IsSeparator(c) || System.Char.IsWhiteSpace(c)) { Console.WriteLine("Integers and identifiers can not be symbols, space or contain them"); } } int a; bool check = int.TryParse(str, out a); if (check == true) { Console.WriteLine("The input string is an integer."); } if (check == false) { Console.WriteLine("The input string is an identifier."); } } } }
Что я уже пробовал:
Проблема : "Создайте метод, который проверяет, является ли входная строка целым числом или идентификатором." Мой код кажется неправильным, потому что когда я ввожу "abc abc" или "$азбука"в виде строки выводится следующее: :
Целые числа и идентификаторы не могут быть символами, пробелами или содержать их
Введенная строка является идентификатором.
Нажмите любую клавишу, чтобы продолжить ...
CHill60
Когда вы закончите свой цикл, ваш код сразу перейдет в проверку на целочисленность. Попробуйте добавить bool, чтобы отметить, что ошибка уже найдена, и окружить вашу проверку целого числа/идентификатора оператором if
BillWoodruff
Существуют различные способы интерпретации "проблемы", как вы ее описываете.
Я подозреваю, что "правильное" (то, что требует ваш курс) решение не позволяет пользователю вводить целую строку текста одновременно. Я не могу себе представить, как это делается в коде "реального мира".
Пожалуйста, уточните. Спросите меня, если вы хотите увидеть другую технику.