java中从命令行输入一串字符串里面有很多括号,怎样获取其中的括号对数. 并显示出数字.

例如:abc((dfg)jkkl(k))
2024-12-04 15:42:36
推荐回答(4个)
回答(1):

public static void main(String[] args) {
// TODO Auto-generated method stub
String str = "abc((dfg)jkkl(k))";
// 计数(出现了几次
int x = 0;
// 计数)出现了几次
int y = 0;
// 遍历数组的每个元素
for (int i = 0; i <= str.length() - 1; i++) {
// 因为i的最大数是str长度-1,这里要+1;
String getstr = str.substring(i, i + 1);
if (getstr.equals("(")) {
x++;
}
if (getstr.equals(")")) {
y++;
}
}
if(x>y){
System.out.println("总共"+y+"对括号!");
}else{
System.out.println("总共"+x+"对括号!");
}
}

回答(2):

单个提取字符,如果获取的是括号,入栈,然后弹出判断。

回答(3):

subString(“(”);
subString(“)”);

回答(4):

public static void main(String[] args) {
String a = "abc((dfg)jkkl(k))";
int c = 0;
Stack s = new Stack();
for(int i = 0;i if(a.charAt(i) == '(')
s.push("(");
if(a.charAt(i) == ')')
if(s.firstElement() == "("){
s.pop();
c++;
}
}
System.out.println(c);
}