2013-02-10 48 views
1

我有一個基本的字符串變量,其中包含字母x總共三次。 我試圖在字符串中使用charAt來查找x,然後打印字符和它旁邊的下兩個字符。查找字符串中的各種字符

我在我的代碼中遇到了一個障礙,並希望得到任何幫助。

這是我的代碼。

public class StringX{ 
    public static void main(String[] args){ 
     String ss = "xarxatxm"; 
     char first = ss.charAt(0); 
     char last == ss.charAt(3); 

     if(first == "x"){ 
      String findx = ss.substring(0, 2); 
     } 
     if(last == "x"){ 
      String findX = ss.substring(3, 5); 
     } 

     System.out.print(findx + findX); 
    } 
} 

此外,是否有一種方法來實現for循環遍歷字符串尋找x還呢?

我只是需要一些建議,看看我的代碼出錯了。

+1

'「x」'是一個字符串,''x''是一個字符 – PermGenError 2013-02-10 13:41:02

+0

啊,是的注意謝謝。 – PrimalScientist 2013-02-10 13:48:14

回答

2

你找不到使用charAt的字符 - 它的一旦你知道它在哪裏就會獲得一個字符。

有沒有一種方法來實現循環通過字符串循環尋找x也?

您需要使用indexOf來查找字符的位置。通過您到目前爲止找到的最後一個x的位置的初始位置,以獲得後續位置。

例如,下面

String s = "xarxatxm"; 
int pos = -1; 
while (true) { 
    pos = s.indexOf('x', pos+1); 
    if (pos < 0) break; 
    System.out.println(pos); 
} 

prints 0 3 6的代碼的'x'串中的三個位置。

+0

不錯的一個!我將採取這些代碼並進行操作以產生所需的內容。我會讓你知道我如何接受並感謝你。 – PrimalScientist 2013-02-10 13:53:29