在for循环中打印特殊字符而不是数字

时间:2012-11-21 23:26:41

标签: java loops for-loop

这是程序正在打印的内容:

(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++;
    }
}

}

3 个答案:

答案 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("");
     }
   }
 }

答案 1 :(得分:-1)

应该是:

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

答案 2 :(得分:-1)

你应该只验证两个值是否等于1然后打印(*),否则结果