Java 在for循环中打印特殊字符而不是数字
这是程序正在打印的内容:Java 在for循环中打印特殊字符而不是数字,java,loops,for-loop,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;
(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++;
}
}
公共类循环{
公共静态void main(字符串[]args)
{
int i=1;
对于(int k=i-1;i<4;i++)
{
int j=1;
对于(int l=j-1;j<4;j++)
{
如果(k==i+1&&l==j+1)系统输出打印(“(*)”;
else系统输出打印(“+k+”,“+l+”);
l++;
}
System.out.println();
k++;
}
}
}如果条件是它的一部分,但您也使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("");
}
}
}
公共类循环{
公共静态void main(字符串[]args)
{
对于(int k=0;k您应该只验证两个值是否都等于1,然后打印(*),否则结果您的循环设置非常奇怪(for(int k=i-1;i<4;i++)
)-为什么不使用1个变量来引导循环呢?比如for(int k=0;k<4;k++)
。你所做的是非常令人困惑的,我看不出有什么好处…我试图做一些事情,让(1,1)检查周围的数字,而不包括它本身。这有意义吗?我不是最擅长文字的。试着解释得更好一点。!你只想为(1,1)做这件事吗或者每次你发现相同的事件时。例如(2,2),(3,3)等等。你想检查(1,0)和(1,2)以确定你在(1,1)中。这就是你的意思。这是唯一的方法吗?我试图做一些事情来解决(1,1)中的问题将检查周围的数字而不包括其本身。这有意义吗?我不是最擅长文字的。您是否正在寻找一个if
语句,该语句匹配正方形的中心,而不测试k==1&&j==1
?