作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我当前正在制作的计算器程序的一部分,这部分确定 b 是否是 a 的因子。另外,我是 Java 新手,这让我第三天学习它的语法。无论如何,我想知道哪种方法更有效地确定 b 是否是 a 的因子。是我们的模运算符(%)还是我的第二种方法???
此外,如果有比我想出的两种方法更有效的方法,请展示。
// for now I want the result to print out in the console
public class factornot {
public static void main(String args[]) {
int a = 56, b = 3; // just for testing purposes!
if((a != 0) && (a % b) == 0) System.out.println(b + " is a factor of " + a);
else System.out.println(b + " is not a factor of " + a);
// short-circuit and prevents a divide by zero error!
// is this better or worse, faster or slower ???
int d = (a / b), e = (d * b);
if((a - e) == 0) System.out.println(b + " is a factor of " + a);
else System.out.println(b + " is not a factor of " + a);
}
}
最佳答案
就基本计算而言,不会有太大差异。要确定 a == 0 mod b,必须执行除法并通过减法计算余数。
然而,运算符%
为编译器提供了“在幕后”完成所有操作的机会,而不需要第二个的存储和获取(大概优化为任何可以快捷方式的内容)版本。
此外:代码越少,出错的机会就越少。直接方式提供了良好的可读性。
关于java - 确定b是否是a的因子的有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24847613/
我是一名优秀的程序员,十分优秀!