2011-11-04 81 views
-2

我有幾行像這樣:如何計算這個值?

AAAAAABBBBDDDAAADDSSDD,FLAGE=TRUE,LLUUGJYFR 
TTT:1 
TTT:2 
AAAAAABBBBDDDAAADDSSDD,FLAGE=TRUE,YYTTREETU,YTTREFF 
TTT:1 
AAAAAABBBBDDDAAADDSSDD,FLAGE=TRUE,KKIFRDEEW,YTRFHFFD 
TTT:1 
TTT:2 
TTT:3 
TTT:4 
AAAAAABBBBDDDAAADDSSDD,FLAGE=FALSE,TYYRFFGGGFD,JJUUGGGGF 
TTT:1 
TTT:2 
AAAAAABBBBDDDAAADDSSDD,FLAGE=TRUE,KKYGG,GGRFFFF,KUUYFFF 
TTT:1 

我想算TTT和FLAG = TRUE,如果FLAG = TRUE在java中 我該怎麼檢查呢? 感謝您的幫助

+0

這是一個Java的問題嗎? –

+0

是我標記.. – Freeman

+0

沒有用的問題,沒有它不是根據我的請求的任何研究工作 – svaor

回答

3

以下代碼可能對您有所幫助。

int res1 = countString(yourinput , "FLAGE=TRUE"); 
int res2 = countString(yourinput , "TTT"); 

int res3 = countTrueTTT(yourinput , "FLAGE" , "TTT") 

public int countString(String yourString , String search){ 
     int sLen = search.length; 
    int len = yourString.length; 
    int count = 0; 
    int index = yourString.indexOf(search, 0); 
    while(index > 0){ 
    count++; 
    index = yourString.indexOf(search, index + sLen); 
    } 

    return count; 
} 

public int countTrueTTT(String yourString , String under , String search){ 
    int len = yourString.length; 
     int sLen = under.length; 
     int count = 0; 
     int index = yourString.indexOf(under+"=TRUE" , 0); 
     int nextIndex = yourString.indexOf(under , index+sLen); 
     while(index > 0 && nextIndex > 0){ 
     count += countString(yourString.subString(index,nextIndex),search); 

     index = yourString.indexOf(under+"=TRUE" , index+sLen); 
     nextIndex = yourString.indexOf(under , index+sLen); 
     if(nextIndex <0) 
      nextIndex = yourString.length; 
     } 
     return count; 
} 
+0

,我想如果標誌= true,那麼算上TT – Freeman

+0

編輯答案但沒有編譯代碼。可能有語法問題。但它解釋瞭解決方案。 – ymutlu

+0

感謝了很多,但它是可以無限循環:( – Freeman

2
var lines = ["here", "are", "your", "lines"]; 
var count = 0; 
for(i in lines) { 
    var line = lines[i]; 
    if(/(^TTT:)|(FLAGE=TRUE)/.test(line)) { 
     count++; 
    } 
} 

alert(count); 

編輯:

對不起,認爲它是JavaScript的.. 但是你上心。使用正則表達式。