String v="a";
        String line[][]={{"a","a"},{"b","c"}};
        String p[]={"a","b","c","d","e","f"};        for(int i=0;i<=1;i++){
            for(int j=0;j<=1;j++){
                System.out.println("ROUND "+i+" "+j);
                System.out.println("line["+i+"]["+j+"]==v?"+line[i][j].equals(v));
                if(line[i][j].equals(v)){
                    int k;
                    if (i == 0) { k = 1; }
                    else { k = 0; }
                    for (int h = 0; h <= 5; h++)
                        System.out.println("p["+h+"]==line["+k+"]["+j+"]?"+p[h].equals(line[k][j]));
                    line[i][j] = "";
                }
                System.out.println("line["+i+"]["+j+"]="+line[i][j]);
                System.out.println("");
            }
        }
你的第二行 for(j=0;j<=14;j++)我想可能是j<=1,因为你没有描述j>1的情况,所以我改了一下
其余部分跟你的程序一致,因为下面这一句并不影响line的值,所以省略了
if(p[h].equals(line[k][j]))
longth[h]=longth[h]<Lv+quan[j]?longth[h]:Lv+quan[j];//一个数据处理最后的输出结果是:
ROUND 0 0
line[0][0]==v?true
p[0]==line[1][0]?false
p[1]==line[1][0]?true
p[2]==line[1][0]?false
p[3]==line[1][0]?false
p[4]==line[1][0]?false
p[5]==line[1][0]?false
line[0][0]=ROUND 0 1
line[0][1]==v?true
p[0]==line[1][1]?false
p[1]==line[1][1]?false
p[2]==line[1][1]?true
p[3]==line[1][1]?false
p[4]==line[1][1]?false
p[5]==line[1][1]?false
line[0][1]=ROUND 1 0
line[1][0]==v?false
line[1][0]=bROUND 1 1
line[1][1]==v?false
line[1][1]=c
并未发现你说的情况,从输出结果看,line[0][1]被赋""虽然你的代码看上去简洁,但是不得不说,这个代码段可读性很差。code不仅是给机器读的,其实更多是给人读的。所以我认为过分简洁的代码没有好处。
建议看看《程序设计实践》