日期:2014-05-20  浏览次数:20739 次

问大家一个小算法
文件的一行是这样一个格式其中b,c是字符,括号里面是字符的坐标位置.
B(2,4)A(14,3)
如何获得这一行中的数字,如2,4,14,3     要是都是个位数也简单些,用string.charAt()肯呢个可以,问题有2位数字,2个char不知道怎么组合.还想用string.sequence(),是不是想的太麻烦了,有什么好方法么?



------解决方案--------------------

package infon.test;

import java.util.Stack;

/**
* @author infon 2007-5-22
*/
public class TestSplit {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String src = "B(2,4)A(14,3) ";

StringBuffer sb = new StringBuffer();
for (int i = 0; i < src.length(); i++) {
char c = src.charAt(i);
switch (c) {
case '( ':
// 打印A B
System.out.print(sb.toString()+ " : ");
sb = new StringBuffer();
break;
case ') ':
// 打印第2位的数字
System.out.println( "2-> "+sb.toString());
sb = new StringBuffer();
break;
case ', ':
// 打印第1位的数字
System.out.print( "1-> "+sb.toString()+ ", ");
sb = new StringBuffer();
break;
default:
sb.append(c);
break;
}
}
}
}