我有一个程序,它接受3个数字(英尺,英寸,十六分之一)然后乘以x
。在开始编写输出部分时,我遇到了需要:
if (sixteenths4<16) {
sixteenths5=sixteenths4;
inches6=0;
}else if (16<=sixteenths4) {
sixteenths5=sixteenths4-16;
inches6=1;
}else if (32<=sixteenths4) {
sixteenths5=sixteenths4-32;
inches6=2;
}else if (48<=sixteenths4) {
sixteenths5=sixteenths4-48;
inches6=3;
} else {
sixteenths5=sixteenths4-64;
inches6=4;
}
我意识到最后的其他事情是多余的,因为它永远不会发生。我的问题是,由于总共十六分之一可能超过4-5百,这将是很多if else
块。有更好的方法吗?
答案 0 :(得分:4)
重新启动所有if / else语句,改为使用整数运算。
这是所有代码的等效代码:
sixteenths5 = sixteenths4 % 16;
inches6 = sixteenths4 / 16;