2012-02-10 87 views
1

這不按我期望的方式工作。示例輸入將包含一個類似於以太0或1的星號。其餘部分將進行比較以查看數字是否匹配。當我試圖查看一個字符是否爲星號時,它不會按照我期望的方式工作。簡單的Java問題

樣品:

組織= * 01

位= 001 || 101 || 011

public static void doesItWork(String org, String bit) 
    { 
     for(int i = 0; i <= org.length() - 1; i++) 
     { 
      System.out.println(org.substring(i, i + 1)); 
      if(org.substring(i, i + 1) != "*" && org.substring(i, i + 1) != bit.substring(i, i + 1)) 
       break; 

      if(i == org.length() - 1) 
       System.out.println(bit); 
     } 
    } 

謝謝你們的幫助。

+1

這是功課嗎? – 2012-02-10 02:23:40

回答

7

!=String s不會做你想做的事情。 Java String.equals versus ==解釋,但簡單,

org.substring(i, i + 1) != "*" 

大概應該是

!org.substring(i, i + 1).equals("*") 

或理想

org.charAt(i) != '*' 
+0

正是我在找什麼。謝謝。 – 2012-02-10 03:05:39

+0

@KevinRead,不客氣。祝你的項目好運。 – 2012-02-10 03:12:44

0

!=用繩子可能不是好主意。試試!x.equals(「*」);

+0

另外,如果你是來自不同語言的java的新手,但知道正則表達式,請在java,java.util.Regex – 2012-02-10 02:23:52