ユーザーが入力した式が用語に適している場合、私のプログラムは画面にメッセージを出力する必要があります(数字と文字のみを使用できます。「(」で始めることはできません。数式のように、各開き括弧には適切な(そして適切な場所にある)閉じ括弧であること。
ここに、プログラムが受け入れて出力する数式をいくつか示します。
真実-
- a(aa(a)aaa(aa(a)aa)aa)aaaaaa
- a(((())))
ここに、プログラムが受け入れて出力してはならないいくつかの式があります。
間違い-
- ()()()
- )()()(
しかし、プログラムは常に False を出力します コードを助けてくれてありがとう: EDIT
bool IsNumeric(char character)
{
return "0123456789".Contains(character);
// or return Char.IsNumber(character);
}
bool IsLetter(char character)
{
return "ABCDEFGHIJKLMNOPQRSTUVWXWZabcdefghigjklmnopqrstuvwxyz".Contains(character);
}
bool IsRecognized(char character)
{
return IsBracket(character) | IsNumeric(character) | IsLetter(character);
}
public bool IsValidInput(string input)
{
if (String.IsNullOrEmpty(input) || IsBracket(input[0]))
{
return false;
}
var bracketsCounter = 0;
for (var i = 0; i < input.Length; i++)
{
var character = input[i];
if (!IsRecognized(character))
{
return false;
}
if (IsBracket(character))
{
if (character == '(')
bracketsCounter++;
if (character == ')')
bracketsCounter--;
}
}
if (bracketsCounter > 0)
{
return false;
}
return bracketsCounter==0;
}
}
}