2014-02-05 44 views
0

我正在處理一個Java代碼,我面臨此錯誤: 令牌無效字符的語法錯誤刪除此令牌 我不'沒有任何想法如何解決這個問題。 原代碼:與(if)條件無關錯誤:令牌無效字符的語法錯誤,刪除此令牌

if ((base[i - 1][j] != 0) &&‌ (base[i - 1][j] != c))//the error is on this line 
{ 
    for (int p = 1; p < i; p++) { 
     if (base[i - p - 1][j] != 0) { 
      break; 
     } 
     if (base[i - p - 1][j] != c) { 
      break; 
      location[0] = i - p - 1; 
      location[1] = j; 
     } 
     if (location != null) { 
      int[] temploc1 = new int[2]; 
      int[] temploc2 = new int[2]; 
      temploc1[0] = i; 
      temploc1[1] = j; 
      temploc2[0] = i - p - 1; 
      temploc2[1] = j; 
      paint(temploc1, temploc2); 
     } 
    } 
} 
+0

'c'和'base'數組的類型是什麼? –

+0

你能否提供一個演示編譯器錯誤的[MCVE](http://stackoverflow.com/help/mcve)?該錯誤實際上可能是上一行代碼的結果,而您並未顯示該代碼。 –

+0

這是無效的字符? –

回答

4

你有&&之間和下面的空間無效無形的字符(Unicode = 8204):

if ((base[i-1][j]!=0) &&‌ (base[i-1][j]!=c))//the error is on this line 
         ^

如果刪除並重新輸入&&它工作正常(包括空間):

if ((base[i-1][j]!=0) && (base[i-1][j]!=c))//the error is on this line 
+0

您的意思是&符號後面的&符號? – crush

+0

@crush它介於'&&'和'&&'後面的空格之間' – assylias

+0

我通過點擊我的鍵盤上的空格鍵來編輯它... – crush

0

您可以使用

 int i = 1; 
    int[][] base; 
    int j = 1; 
    int c = 1; 
    int base1 = base[i - 1][j ]; 
    int base2 = base[i - 1][j]; 
    if (base1!= 0) { 
     if (base2!= c) { 
     for (int p = 1; p < i; p++) { 
      if (base[i - p - 1][j] != 0) { 
       break; 
      } 
      int[] location; 
      if (base[i - p - 1][j] != c) { 
       break; 
       location[0] = i - p - 1; 
       location[1] = j; 
      } 
      if (location != null) { 
       int[] temploc1 = new int[2]; 
       int[] temploc2 = new int[2]; 
       temploc1[0] = i; 
       temploc1[1] = j; 
       temploc2[0] = i - p - 1; 
       temploc2[1] = j; 
       paint(temploc1, temploc2); 
      } 
     } 
     } 
    } 
相關問題