Java 如何在列表中添加单词每个字符的位置

Java 如何在列表中添加单词每个字符的位置,java,list,char,position,Java,List,Char,Position,我试图在列表中添加单词每个字符的位置。 每行包含一个字符,\t和一个数字。单词之间用字符“x”分隔。而且,我必须忽略字符“z” 我的输入是一个ArrayList 例如: ArrayList(输入): 输出应为: x 0 T 1 0 h 2 0 e 3 0 x 0 b 1 1 z 0 o 2 0 y 3 0 我的输出 x 0 0 T 0 0 h 0 0 e 0 0 x 0 0 b 1 0 z 0 0 o 0 0 y 0 0 我

我试图在列表中添加单词每个字符的位置。 每行包含一个字符,\t和一个数字。单词之间用字符“x”分隔。而且,我必须忽略字符“z”

我的输入是一个ArrayList

例如:

ArrayList(输入):

输出应为:

x  0
T  1  0
h  2  0
e  3  0
x  0
b  1  1
z  0
o  2  0
y  3  0

我的输出

x  0  0
T  0  0
h  0  0
e  0  0
x  0  0
b  1  0
z  0  0
o  0  0
y  0  0
我的代码

int j = 0;
for (int i = 0; i < list.size() - 1; i++) {
    if ((list.get(i)).startsWith("x")) {
        j++;
        while ((!(list.get(i)).startsWith("z")) && (j != 0)) {
            if ((list.get(i)).endsWith("\t1")) {
                list.set(i, (list.get(i)).replace("\t1", "\t" + j + "\t1"));
                j++;
            } else if ((list.get(i)).endsWith("\t0")) {
                list.set(i, (list.get(i)).replace("\t0", "\t" + j + "\t0"));
                j++;
            }
            if ("x".equals(list.get(i + 1))) {
                j = 0;
            }
        }
    }
}

intj=0;
对于(int i=0;i
我希望我已经理解了你的问题。以下是解决方案: word是您的输入数组列表

    for (int i = 0; i < word.size(); i++) {
        String current = word.get(i);
        if (current.charAt(0) == 'z') {
            result.add(current.charAt(0) + "\t" + 0 + "\t" );
        } else if (current.charAt(0) == 'x') {
            counter = 1;
            result.add(current.charAt(0) + "\t" + 0 + "\t");
        }  else {
            result.add(current.charAt(0) + "\t" + counter + "\t" + current.charAt(current.length()-1));
            counter++;
        }

请澄清,输入内容是什么?编辑您的帖子并澄清它;)@阿兹罗一世编辑了这篇文章。我的输入是一个ArrayList,其中每行包含一个字符,然后是制表符,然后是一个Int(0或1)。非常感谢您提供此解决方案!我没有“searchedWord”,我只有ArrayList。
    for (int i = 0; i < word.size(); i++) {
        String current = word.get(i);
        if (current.charAt(0) == 'z') {
            result.add(current.charAt(0) + "\t" + 0 + "\t" );
        } else if (current.charAt(0) == 'x') {
            counter = 1;
            result.add(current.charAt(0) + "\t" + 0 + "\t");
        }  else {
            result.add(current.charAt(0) + "\t" + counter + "\t" + current.charAt(current.length()-1));
            counter++;
        }
x   0   
T   1   0
h   2   0
e   3   0
x   0   
b   1   1
z   0   
o   2   0
y   3   0