用java编写程序 要求:设有一数组A,长度是N,内部的数据是0到N-1之间的所有数字,例如当N等于5时,数组为:A={0,3,2,1,4}。针对A数组,有一个对应的编码数组B,B的长度和A的长度相等,规定数组B中元素的值规定如下: a、B[0]的值为0 b、B[i]的值是A数组中A[i]以前的值中比A[i]小的元素的个数。 c、例如示例中A数组{0,3,2,1,4}对应的编码数组B的值为{0,1,1,1,4}。现在已知A数组,编码代码计算对应的编码数组B。
时间: 2023-03-21 19:00:47 浏览: 96
一个java编写的程序
以下是实现上述要求的Java代码:
```java
public class ArrayCoding {
public static void main(String[] args) {
int[] A = {0, 3, 2, 1, 4};
int[] B = new int[A.length];
B[0] = 0;
for (int i = 1; i < A.length; i++) {
int count = 0;
for (int j = 0; j < i; j++) {
if (A[j] < A[i]) {
count++;
}
}
B[i] = count;
}
System.out.println(Arrays.toString(B));
}
}
```
上述代码首先定义了一个长度为N的整型数组A,并初始化为题目中给出的示例数组。接着定义了一个长度与A相等的整型数组B,用于存储编码结果。
根据题目要求,B[0]的值为0,因此代码中先将B[0]初始化为0。
接下来,利用两层循环遍历A数组,计算出A[i]之前比A[i]小的元素个数,即为B[i]的值。最后输出计算出的B数组即可。
阅读全文