我试图写代码来显示偶数元素到偶数索引和奇数到奇数索引,如果数字添加的数字是相同的,然后相应地添加零。
示例:
x =[1,2,3,4]输出:2 1 4 3 x =[1 1 1 4]输出:4 1 0 1 0 1
我伸手去拿偶数和奇数的位置,但在那之后就卡住了。
下面是我的代码。
import java.util.*;
class ArrayDemo3 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("Enter Size of Array :: ");
int size = s.nextInt();
int[] x = new int[size];
System.out.println("Array Created having the size :: " + size);
System.out.println("Enter Elements for Array :: ");
for (int i = 0; i < size; i++) {
System.out.println("Enter element no-" + (i + 1) + " ::");
x[i] = s.nextInt();
}
System.out.println("Contents of Array ::");
for (int i = 0; i < size; i++) {
System.out.print(x[i] + " ");
}
for (int i = 0; i < size; i = i + 1) {
int even = 0;
int odd = 1;
if (i < size && x[i] % 2 == 0) {
System.out.print("even : ");
even = even + i;
System.out.print("position" + i + " " + x[i] + " ");
} else {
System.out.print("odd : ");
odd = odd + i;
System.out.print(i + " " + x[i] + " ");
}
if (even < size && odd < size) {
int temp = x[even];
x[even] = x[odd];
x[odd] = temp;
} else {
}
//System.out.print(x[i] + " ");
}
}
}
3条答案
按热度按时间djp7away1#
你可以把你的问题分解成3个部分:
1.首先创建两个列表,一个列表按遇到的顺序包含偶数,另一个列表包含奇数:
1.用零(
0
s)填充两个列表中较短的一个,使其长度与另一个相等:1.最后,将这两个列表交织在一起:
以下是完整的工作示例:
Complete code on GitHub
dfty9e192#
使用数组我们可以做这样的事情,代码需要优化。
cpjpxq1n3#
根据索引对元素排序,即如果元素是偶数,则必须位于偶数位置,反之亦然