在 Java 中的增强 for 循环中使用 xor 运算符
Using xor operator in enhanced for loop in Java
抱歉,如果这是重复的,但我尽了最大的努力,但找不到我到底做错了什么。我正在研究 java 概念,希望在来年参加认证考试,并且我正在研究增强的 for 循环并习惯使用它们。我尝试制作一个增强的 for 循环来搜索数组,并使用 xor (^) 运算符来确定与另一个变量匹配的元素的位置。我目前拥有的代码是:
int[] x = {17, 16, 15};
int y = 16;
int z;
for (int a : x) {
z = x[a]^16;
if (z==0)
System.out.println(a);
else;
}
我似乎无法弄清楚为什么会出现错误。我知道这与我在 (z=x[a]^16) 访问数组的方式有关,有没有更好的方法来编写我只是没有看到的?感谢先进的帮助。
增强的 for 循环提供数组或列表中的每个元素,而不是元素的索引。所以,第一次,a = 17.x[17] 应该给出一个数组索引异常。请注意,您的代码之所以能够编译,是因为您创建了一个 int 数组;如果它是一个字符串数组,那么你最终会遇到编译错误。
将来,包括您在 运行 代码时收到的错误消息。
抱歉,如果这是重复的,但我尽了最大的努力,但找不到我到底做错了什么。我正在研究 java 概念,希望在来年参加认证考试,并且我正在研究增强的 for 循环并习惯使用它们。我尝试制作一个增强的 for 循环来搜索数组,并使用 xor (^) 运算符来确定与另一个变量匹配的元素的位置。我目前拥有的代码是:
int[] x = {17, 16, 15};
int y = 16;
int z;
for (int a : x) {
z = x[a]^16;
if (z==0)
System.out.println(a);
else;
}
我似乎无法弄清楚为什么会出现错误。我知道这与我在 (z=x[a]^16) 访问数组的方式有关,有没有更好的方法来编写我只是没有看到的?感谢先进的帮助。
增强的 for 循环提供数组或列表中的每个元素,而不是元素的索引。所以,第一次,a = 17.x[17] 应该给出一个数组索引异常。请注意,您的代码之所以能够编译,是因为您创建了一个 int 数组;如果它是一个字符串数组,那么你最终会遇到编译错误。
将来,包括您在 运行 代码时收到的错误消息。