我正在编写Java程序来验证括号/括号的正确关闭,但它不起作用。有人可以通过指出问题来帮助我吗?
输入格式
将在输入文件中有多行,每行都有一个非空字符串。您应该阅读输入直到文件结束。
编辑器中已经提供了处理输入操作的代码的一部分。
每种情况的输出格式
,如果字符串平衡,则打印“ true”,否则“ false”。
输入 - (({()}))) 预期输出 - 错误 实际输出 - 正确
public static boolean paranValidate(String input) {
String[] chrArray = input.split("");
Stack<String> stack = new Stack<String>();
for (int i = 0; i < chrArray.length; i++) {
if (chrArray[i].trim().equals("{"))
stack.push("}");
if (chrArray[i].trim().equals("("))
stack.push(")");
if (chrArray[i].trim().equals("["))
stack.push("]");
if (!stack.empty()) {
if (chrArray[i].trim().equals("}") && chrArray[i].trim().equals(stack.peek()))
stack.pop();
if (chrArray[i].trim().equals(")") && chrArray[i].trim().equals(stack.peek()))
stack.pop();
if (chrArray[i].trim().equals("]") && chrArray[i].trim().equals(stack.peek()))
stack.pop();
}
}
return stack.empty();
}
Input Format
There will be multiple lines in the input file, each having a single non-empty string. You should read input till end-of-file.
The part of the code that handles input operation is already provided in the editor.
Output Format
For each case, print 'true' if the string is balanced, 'false' otherwise.
Input - (({()})))
Expected Output - false
Actual Output - true
public static boolean paranValidate(String input) {
String[] chrArray = input.split("");
Stack<String> stack = new Stack<String>();
for (int i = 0; i < chrArray.length; i++) {
if (chrArray[i].trim().equals("{"))
stack.push("}");
if (chrArray[i].trim().equals("("))
stack.push(")");
if (chrArray[i].trim().equals("["))
stack.push("]");
if (!stack.empty()) {
if (chrArray[i].trim().equals("}") && chrArray[i].trim().equals(stack.peek()))
stack.pop();
if (chrArray[i].trim().equals(")") && chrArray[i].trim().equals(stack.peek()))
stack.pop();
if (chrArray[i].trim().equals("]") && chrArray[i].trim().equals(stack.peek()))
stack.pop();
}
}
return stack.empty();
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
正确的解决方案是:
Correct Solution is: