2011-10-01 93 views
1

我創建了下面的代碼,將字符串的所有值打印爲'true'或'false'。我想填充一個數組,其中包含所有打印值「True true false true ....」現在,當我打印出String str的值時,如果它不在循環中,我只會得到第一個值字符。布爾值到數組的字符串?

// First find out how many words and store in numWords 
    // Use "isDelim()" to determine delimiters versus words 
    // 
    // Create wordArr big enough to hold numWords Strings 
    // Fill up wordArr with words found in "phrase" parameter 
    public void Parse(String phrase) { 
     int len = phrase.length(); 
     String str = null; 

     int isTrueCount = 0; 
     int isFalseCount = 0; 

     for (int i = 0; i < (len); i++) { 
     str = String.valueOf(!isDelim(phrase.charAt(i))); 
     System.out.println(str); 

     if (str == "true") { 
      isTrueCount++; 
     } else { 
      isFalseCount++; 
     } 
     } 
     System.out.println(isTrueCount); 
     System.out.println(isFalseCount); 
    } 

len的長度是任意字符串/文本文件/鍵盤輸入。我希望使用數組中的true和false值來從分隔符中挑出真正的單詞數量。

+2

提供示例字符串。 –

+0

請給我們len和短語的起始值。 – kroonwijk

+0

您正在用循環的每次迭代重寫字符串。也許你想要做'str + = String.valueOf(foo)+「」;'。更好的是,根本不要創建一個字符串,但將結果添加到'ArrayList '中。 –

回答

0

不要爲此使用字符串,因爲它會增加不必要的複雜度。如果語句正確,只需增加變量:

for (int i = 0; i < phrase.length(); i++) { 
    if (!isDelim(phrase.charAt(i))) { 
     isTrue++; 
    } else { 
     isFalse++; 
    } 
    }