2016-03-26 61 views
0

一個整數,我有這樣的方法,這是應該的String在Java中比較整數的Java比較的String在Java

我曾經是一個長整型字符串,然後我改成了一個與字符串是應該通過數通過串號重複,並將其與循環

這裏的指數是我的代碼

private StringBuilder convert(long wordSum) { 

    String tempLongString = new String(); 
    numberString2 = null; 

    tempLongString = String.valueOf(wordSum); 



    for(int i = 0; i < tempLongString.length(); i++) { 
     for(int x = 0; x < 10; x++) { 
      if(x == tempLongString.charAt(i)) {    
       numberString2.append(letters[x]); 
       System.out.println(numberString2); 
      } 
     } 
    } 


    return numberString2; 
} 

我知道有很多的代碼,在這裏,我不談論,但現在我很好奇,爲什麼它不運行循環 - if語句應該工作

對於人問:長的號碼是2343638086這是不是在字符串中tempLongString

+0

您是否試圖檢查'#charAt'返回的內容?如果沒有:現在就做。 – Tom

+0

@Tom - charAt返回正確的值。 –

+1

所以你不知道'#charAt'返回的是什麼。請按照我所說的去做:查看它的功能:https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#charAt-int- – Tom

回答

-1

你確定它沒有運行的循環?嘗試在該打印語句中添加其他內容,以查看它是否無所事事。我不能完全測試你的代碼,因爲我不知道numberString2是什麼或者是什麼字母[]。

如果numberString2是一個StringBuilder,你可以聲明它爲一個新的StringBuilder而不是null也許?

+0

我在println中添加了其他東西 - 由於某種原因它沒有訪問IF語句 –

+0

也許是因爲x never ==一個在tempLongString中的字符,嘗試添加一個打印語句,顯示在創建完tempLongString後,看看它實際是什麼。 –

+0

不是「可能」,當然它不會通過這個比較。他的字符將不會有檢查範圍。 – Tom