Java数组中的问题,运行后有错误

import java.util.Arrays;

import java.util.Random;

import java.util.Scanner;


public class WX9_1 {


/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

Random r=new Random();

int[] A=new int[20];//初始化20个整数空间

int[] B=new int[10];//初始化10个整数空间

System.out.println("随机生成20个整数放入数组中:");

for(int i=0;i<=20;i++)

{

A[i]=r.nextInt(100);

System.out.print(A[i]+" ");

}

System.out.println();

System.out.println("将数组A的后10个整数复制到数组B中:");

System.arraycopy(A, 10, B, 0, 10);

   for (int i=0;i<B.length;i++) System.out.print(B[i]+"  ");

System.out.println();


System.out.println("将数组B升序排序");

   Arrays.sort(B);

   for (int i=0;i<B.length;i++) System.out.print(B[i]+"  ");

System.out.println();

Scanner reader=new Scanner(System.in);

System.out.println("输入要查找的数:");

int num=reader.nextInt();

System.out.println("使用二叉查找法在数组B中查找"+num);

int index= Arrays.binarySearch(B,num);

if(index>-1)System.out.println(num+"的下标是:"+index);

else System.out.println(num+"不在数组中");

}

}



己一人丶
浏览 727回答 1
1回答

fantasycountre

不知道你是什么错误,但是我发现一个问题在这里。System.arraycopy(A, 10, B, 0, 10); 实际上是从第11个元素开始复制。数组是从0开始的。也许对你有所帮助
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java