如果在java中超出数组索引,如何跳转到数组的0索引?

假设我有一个 65-90 范围内的 int 数组。我将随机选择一个元素并添加 10。如果 90 的交叉范围返回到 65,该值是否可能?例如 - 我取一个 85 并加 10。所以应该是 95,但我想要 70。


慕斯王
浏览 141回答 2
2回答

繁花如伊

您可以[0, high - low]通过删除low您的值将您的值放入间隔中,然后将您想要的数字添加到它,取总和的模数,最后加low回来回到范围内[low, high]public static void main(String[] args) {    int low = 65, high = 90;    System.out.println(addWithinInterval(85, 10, low, high));}private static int addWithinInterval(int value, int add, int low, int high) {    return (value - low + add) % (high - low + 1) + low;}

繁星淼淼

我将随机选择一个元素并添加 10。如果 90 的交叉范围返回到 65,该值是否可能?当然,余数运算符会为您做到这一点:n = (n - 65) % (90 - 65) + 65;示例(实时复制):int n = 85;for (int x = 0; x < 10; ++x) {&nbsp; &nbsp; n += 10;&nbsp; &nbsp; n = (n - 65) % (90 - 65) + 65;&nbsp; &nbsp; System.out.println(n);}或在现场:Java 和 JavaScript 不同,但它们的%运算符工作相同,因此:let n = 85;for (let x = 0; x < 10; ++x) {&nbsp; n += 10;&nbsp; n = (n - 65) % (90 - 65) + 65;&nbsp; console.log(n);}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java