急,求java高手帮忙啊 有一字符串格式如下:(A(B)(C(D)(E))F) 字符串中的括号成对出现,写一java函数取出第N(以左括号出现的顺序来索引)对括号里的内容。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public class Csdn1 { public static void main(String[] args) { String str = "(A(B)(C(D)(E))F)"; System.out.println(getContent(5, str)); } public static String getContent(int n, String str) { int start = -1, end = 0; char[] arr = str.toCharArray(); int count = 0, j = 0; for (int i = 0; i < arr.length; i++) { if (arr[i] == '(') { count++; if (count == n) { start = i;//找到,记录开始位置 j = 0; // 开始位置重置 } if (i >= start) { j++; // 左( ++ } } if (arr[i] == ')') { if (i >= start) { //有开始位置才开始匹配结束 j--; // 右( -- } if (j == 0) { //左右括号匹配完成后记录结束位置并跳出循环 if (start == -1) { System.out.println("第" + n + "个元素不存在!"); } else { end = i + 1; return str.substring(start, end); } } } } return ""; }} 怎么图片显示不出来 char 如何赋空的初值 如何通过类全名调用类的静态方法。 让JPanel不重叠显示问题 求:《张孝祥IT课堂-Java教学视频录像(高级版)注册码~ 关于画图,大家来看看 怎么调用自己定义的class ,小菜 有关Java Swing Tree 的编程问题 ??? JCL英文版发布(最新版)!放分300 Java初学者基础算法题求解 并发, 线程, CPU 请问如何利用IO流知识把压缩格式(rar,zip)文件和图片文件封装?
public class Csdn1 {
public static void main(String[] args) {
String str = "(A(B)(C(D)(E))F)";
System.out.println(getContent(5, str));
}
public static String getContent(int n, String str) {
int start = -1, end = 0;
char[] arr = str.toCharArray();
int count = 0, j = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] == '(') {
count++;
if (count == n) {
start = i;//找到,记录开始位置
j = 0; // 开始位置重置
}
if (i >= start) {
j++; // 左( ++
}
}
if (arr[i] == ')') {
if (i >= start) { //有开始位置才开始匹配结束
j--; // 右( --
} if (j == 0) { //左右括号匹配完成后记录结束位置并跳出循环
if (start == -1) {
System.out.println("第" + n + "个元素不存在!");
} else {
end = i + 1;
return str.substring(start, end);
}
}
}
}
return "";
}
}