剛開始輸入了n個東西
假設你要查找第i個(可能是h,g,f,數字)東西需要把哪個位置的東西拿來算
將一個整數level設為1,從i開始往後遍歷,遍歷到g,level-1,h則-2,長數則+1,直到level=1,level=1後一個位置就是要拿來算的,再把level設為0給下一個用
查找h要找那些位置算 | 前一個是1,要用這個 | 前一個是1,要用這個 | 前一個是1,要用這個 | (ˊ這是最後的單元了,不用往後找一個) | |||||
1(初始化為0) |
0+1=1 (初始化為0) |
0+1=1 (初始化為0) | 0-2=-2 | -2+1=-1 | -2 | -2 | -1 | 0 | 1 |
h | 6 | 8 | h | 3 | g | f | 3 | 7 | 6 |
例:
int[]way(String[] gong,int pl)
int mark=1 標記初始值設為1
int[] xyz=new int[3];
int k=0; 分類x y z的工具
for(int j=pl;j<gong.length;j++) {
if(mark!=1) {
if(gong[j].matches("-?\\d+(\\.\\d+)?"))
mark++;
if(k>2)
break;
if(gong[j].equals("g"))
mark--;
else if(gong[j].equals("h"))
mark-=2;
}
if(mark==1) {
xyz[k]=j+1;
k++;
mark=0;
}
}
return xyz;
}