Java数组使用全解析
1. 锁柜问题与循环应用
在一个有趣的锁柜场景中,循环起到了关键作用。每次循环代表着在走廊中对锁柜进行一次完整的操作,skip变量表示每次跳过的锁柜数量。开始时对每个锁柜操作,接着是每第二个,然后是每第三个,循环从1计数到1000。在另一个循环里,每次迭代代表在走廊行程中在一个锁柜处停留,for语句中的第三个表达式将skip变量加到索引变量上,以便能访问每第n个锁柜。通过not运算符(!)可以反转每个锁柜的状态,即开变关,关变开。最后,再用一个for循环遍历所有锁柜,统计打开的锁柜数量,并将打开锁柜的编号添加到字符串末尾以便打印。
// 示例代码逻辑
for (int skip = 1; skip <= 1000; skip++) {
for (int i = skip - 1; i < 1000; i += skip) {
lockers[i] =!lockers[i];
}
}
int openCount = 0;
String openLockers = "";
for (int i = 0; i < 1000; i++) {
if (lockers[i]) {
openCount++;
openLockers += (i + 1) + " ";
}
}
System.out.println("Bobo left " + openCount + " lockers open.");
System.out.println("The open lockers are: " + openLockers);
超级会员免费看
订阅专栏 解锁全文
2039

被折叠的 条评论
为什么被折叠?



