java - (e--) 的作用是什么?为什么当我不包含 (e--) 或键入 (e++) 时会得到错误的答案?
问题描述
我不理解 (e--) 的部分,如果我删除它或键入 (e++) 而不是我得到错误的答案
我用e++替换了e--,结果是这样的
2 到 0 的幂是 1
2 的 1 次方为 0
2的2次方为0
2的3次方为0
2的4次方为0
2的5次方为0
2的6次方为0
2的7次方为0
2的8次方为0
2的9次方为0
public static void main(String[] args) throws IOException {
int e;
int result;
for(int i=0;i<10;i++){
result=1;
e=i;
while(e>0){
result*=2;
e--;
}
System.out.println("2 to the "+ i +" power is "+result);
}
}
}
我认为做 e-- 的目的是什么,所以我将其删除并包含 (e++),因为它支持 while 条件
解决方案
尝试通过阅读代码来了解发生了什么。e 变量基本上是指数。您每次将其设置为索引 i,并尝试计算 2^e 值。
所以你的(?)代码做了一个while循环,e次。那个部分
e=i;
while(e>0){
result*=2;
e--;
}
相当于
for(int e = i; e > 0; e--) {
result*=2; // which is a shorthand for result = result * 2;
}
推荐阅读
- python - 如何使用 .loc 将列添加到多索引数据框?
- javascript - JavaScript中的函数,不知道它是如何工作的
- puppeteer - Puppeteer - webScraper
- javascript - 具有淡入效果的jquery toggleClass
- r - 将 data.table 列的子集传递给函数并在 R 中通过引用将结果添加回来
- prestashop - 我可以在 Prestashop 中使用 DigitalOcean Spaces CDN 作为 MediaServer 吗?
- linux - Dnsmasq 配置到单个 IP
- kotlin - 在 Kotlin 中,制作字符串的最佳方法是什么?+ String?` 如果任何输入为 `null`,则返回 `null`?
- flutter - 在您的路径中找不到 git,互联网或外部命令无法识别
- javascript - 单击时复制到剪贴板