gpt4 book ai didi

java - 压缩 'If' 语句

转载 作者:行者123 更新时间:2023-12-05 00:07:27 24 4
gpt4 key购买 nike

希望这个问题不会在回答时造成太多麻烦,但在我的数独项目中写出这个问题时,我知道必须有更好的方式来表达这个 if 条件。

提前谢谢你们。

public static void modVal(int r, int c, int x) {
if((r>=1 && r<=9) && (c>=1 && c<=9) && (x>=1 && x<=9)) {
sudoku.set(r,c,x);
}
}

最佳答案

您可以将逻辑提取到 boolean 值中,然后只测试它们,例如

boolean validRow = r >= 1 && r <= 9;
boolean validColumn = c >= 1 && c <= 9;
boolean validValue = x >= 1 && x <= 9;
if (validRow && validColumn && validValue) {
sudoku.set(r, c, x);
}

或者,假设每个限制都相同(行、列和值都包含 1-9),那么您可以将其提取到名为 withinLimits(value) 的方法中,该方法检查值介于 1 和 9 之间。

public boolean withinLimits(int value) {
return value >= 1 && value <= 9;
}

然后...

if (withinLimits(r) && withinLimits(c) && withinLimits(x)) {
sudoku.set(r, c, x);
}

不过并没有比您拥有的好多少,只是在语法上更简洁一些。而且您也不需要额外的括号。放下它们。

关于java - 压缩 'If' 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37489898/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com