Я хотел бы проверить, содержит ли входная строка такое же количество скобок открытия/закрытия. Если да, распечатайте true else false. Я написал этот код, но есть некоторые ошибки, которые могут кому-то помочь?Как проверить Если скобки одинаковы
See My Code Это прекрасно работает, если я ввожу строку «()», которая начинается с открывающей скобки и заканчивается закрывающей скобкой, но если я вхожу «) (», то она по-прежнему печатает верно ?. Вывод должен быть:
() = true
(())=true
()) = false
(() = false
)(= false
)(() = false
etc...
Спасибо за помощь
EDIT:
using System;
public class Program
{
public void Main()
{
CheckParentheses ("()");
}
public void CheckParentheses (string inputParentheses){
int openParentheses = 0;
int closeParentheses = 0;
for (int i = 0; i < inputParentheses.Length; i++)
{
if (inputParentheses[i] == '(')
{
openParentheses++;
}
if (inputParentheses[i] == ')') {
closeParentheses++;
}
if (openParentheses == closeParentheses)
Console.WriteLine("true");
}
}
}
@LarsTech вы можете нажать на эту ссылку, и она перенесет вас в мой код. Однако я передал свой код в основной теме. – dipesh
Ваш код выполняет то, что вы описываете, - обнаруживайте такое же количество открытых и закрытых скобок. То, что вам кажется нужным, - найти соответствующие скобки открытия/закрытия. Возможно, попробуйте только один счетчик скобок; приращение на открытом, декремент при закрытии. Если он когда-либо опускается ниже нуля, ответ будет ложным; если он не равен нулю в конце, ответ будет ложным; если он равен нулю, ответ верен. –