sách gpt4 ai đã đi

java - 如何在不知道哪个端点更大的情况下创建一个通用的 for 循环?

In lại 作者:行者123 更新时间:2023-12-04 10:56:32 25 4
mua khóa gpt4 Nike

我的项目中有以下代码,我想知道是否可以通过将其替换为单个 以更少的代码行编写相同的代码。循环增加或减少取决于 endPosition大于或小于 startPosition .那可能吗?

if (endPosition > startPosition) {
for (int i = startPosition; i <= endPosition; i++) {
doStuff(i);
}
} khác {
for (int i = startPosition; i >= endPosition; i--) {
doStuff(i);
}
}

编辑 1 :我已将“优化”一词更改为“用更少的代码行编写”。另外,我添加了索引 i 作为 doStuff 的参数,以强调它很重要。然而,访问每个元素的顺序不是。

1 Câu trả lời

int step = endPosition > startPosition ? 1 : -1;
for (int i = startPosition ; (i-step) != endPosition; i += step) {
doStuff(i);
}

请注意,这将始终执行 doStuff至少一次(即 startPositionendPosition 被认为包含在内)。

关于java - 如何在不知道哪个端点更大的情况下创建一个通用的 for 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59140952/

25 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com