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

解决方案 »

  1.   

    用string.split()
    先用“,”进行分割,
    然后分割好的字符串数组(可以确定是三个)中,
    用indexOf()和lastindexOf()找左括号和右括号的位置,
    然后再用subString()取字符串,
    是不是我说的也够麻烦的呀
      

  2.   

    用Stack,碰到‘(’push,碰到')'pop,中间的如果是','就当分隔符了
      

  3.   


    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;
    }
    }
    }
    }