Java 编写一个程序,搜索数组以找到第一个奇数
我无法完成这个问题。 编写一个程序,搜索数组以找到第一个奇数。如果是奇数 找到数字,然后找到奇数后的第一个偶数。返回第一个奇数和第一个偶数之间的距离。如果未找到奇数或奇数后没有偶数,则返回-1。 我尝试了这些问题,但无法解决这是我的代码:Java 编写一个程序,搜索数组以找到第一个奇数,java,arrays,Java,Arrays,我无法完成这个问题。 编写一个程序,搜索数组以找到第一个奇数。如果是奇数 找到数字,然后找到奇数后的第一个偶数。返回第一个奇数和第一个偶数之间的距离。如果未找到奇数或奇数后没有偶数,则返回-1。 我尝试了这些问题,但无法解决这是我的代码: public class RayOddtoEven { public static int go(int[] ray) { int result = 0; boolean oddExists = false; int oddIn
public class RayOddtoEven
{
public static int go(int[] ray)
{
int result = 0;
boolean oddExists = false;
int oddIndex = 0;
for (int i = 0; i < array.length; i++)
{
if (array[i] % 2 != 0)
{
oddExists = true;
oddIndex = array[i];
break;
}
}
}
}
请帮我完成这段代码,我给出这段代码与这个运行程序的输出。
我需要这些答案。
我需要的正确输出
6
2
3
1
-1
4
5
4
-1
我将嵌套一个循环,首先迭代以找到第一个奇数值;然后从那里向前迭代以获得偶数值。一旦从第一个奇数开始迭代,就可以终止外部循环。差不多
public static int go(int[] ray) {
for (int i = 0; i < ray.length; i++) {
if (ray[i] % 2 != 0) {
for (int j = i + 1; j < ray.length; j++) {
if (ray[j] % 2 == 0) {
return j - i;
}
}
break;
}
}
return -1;
}
你的方法不会返回任何东西。是的,我知道,但我不明白。这就是我不回来的原因
public static int go(int[] ray) {
for (int i = 0; i < ray.length; i++) {
if (ray[i] % 2 != 0) {
for (int j = i + 1; j < ray.length; j++) {
if (ray[j] % 2 == 0) {
return j - i;
}
}
break;
}
}
return -1;
}
6
2
3
1
-1
4
5
4
-1