无条件编程 - 不能使用If,Else或Switch

时间:2015-09-25 14:23:51

标签: java if-statement

我编程扫雷 - 我已经完成了,但现在我的任务已经改变了。我无法使用If-ElseSwitch。您对如何重写此代码片段有一些建议吗?

for (int i = 1; i <= M; i++) {
    for (int j = 1; j <= N; j++)
        if (bombs[i][j])
                System.out.print("* ");
        else
                System.out.print(". ");

        System.out.println();
    }
}

3 个答案:

答案 0 :(得分:1)

您可以使用三元运算符:

extern "C"
{
    __declspec(dllexport) void __cdecl ReverseString3(char * buff, const char *text, int buffLen)
    {
        buff = "yellow";
    }
}

你也可以在那里投入一个String result = (bombs[i][j]) ? "* " : ". "; System.out.println(result); 循环:

while

答案 1 :(得分:0)

您可以尝试使用三元运算符代替if

for (int i = 1; i <= M; i++) {
    for (int j = 1; j <= N; j++) {
        System.out.println(bombs[i][j] ? "* " : ". ");
    }
}

答案 2 :(得分:0)

可以将炸弹[i] [j](一个布尔值)转换为索引0或1以选择.*

boolean bomb[][] = new boolean[M][N];
final String emptyBomb = ".*";
for (int i = 0; i < M; i++) {
    for (int j = 0; j < N; j++)
        int index = Boolean.compare(bombs[i][j], false); // 0 or 1
        System.out.print(emptyBomb.charAt(index));
        System.out.print(" ");
    }
    System.out.println();
}

如你所见,boolean-to-int有点像黑客 - 在java中没有强制转换。