2012-11-21 103 views
0

這檔節目是什麼打印:在打印的特殊字符的循環,而不是數

(0,0)(0,1)(0,2) 
(1,0)(1,1)(1,2) 
(2,0)(2,1)(2,2) 

我希望它做的是打印(*)在(1,1)取代。我知道一個if語句是否涉及,但我很難弄清楚我應該放的條件。

public class loops { 

public static void main(String[] args) 
{ 
    int i=1; 
    for (int k = i-1; i< 4; i++) 
    { 
     int j =1; 
     for (int l = j-1; j < 4; j++) 
     { 
      if (k ==i+1 && l == j+1) System.out.print("(*)"); 

      else System.out.print("("+k+","+l+")"); 
      l++; 
     } 
     System.out.println(); 
     k++; 
    } 
} 

}

+1

你的循環設置很奇怪('for(int k = i-1;我<4;我++)') - 爲什麼你不使用1個變量來引導循環?像'for(int k = 0; k <4; k ++)'。你在做什麼是非常混亂,我看不到任何好處... – fvu

+0

我試圖做一些事情,(1,1)將檢查周圍的數字,而不包括自己。那有意義嗎?用言語來說我不是最好的。 – iii

+0

試着解釋它好一點。 –

回答

0

if條件是它的一部分,但你也複雜的for循環,試試這個:

public class loops { 
    public static void main(String[] args) 
    { 
    for (int k = 0; k<3; k++) 
    { 
     for (int j = 0; j<3; j++) 
     { 
     if (k ==1 && j == 1) 
     { 
      System.out.print("(*)"); 
     } else { 
      System.out.print("("+k+","+j+")"); 
     } 
     } 
     System.out.println(""); 
    } 
    } 
} 
+0

這是唯一的方法嗎?我試圖做一些事情,(1,1)將檢查周圍的數字而不包括自己。那有意義嗎?用言語來說我不是最好的。 – iii

+1

您是否正在尋找一個匹配正方形中心的'if'語句而不測試'k == 1 && j == 1'的文字值? –

-1

它應該是:

if(k == 1 && l == 1) System.out.print("(*)"); 
-1

您應該驗證兩個值是否等於1,然後打印(*),否則結果爲