2012-11-21 60 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,然后打印(*),否则结果为