刚学习java 请问为什么下面的程序会报错啊?不知道为什么这两个方法 Arrays.copyOfRange(a,3,6);
Arrays.copyOf(a,a.length);不能使用啊?请高手看一下呗!!
package shuzu;
import java.util.Arrays;
public class ArrayTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//创建数组a,b,c,其中b,c是调用copyOf方法分别拷贝a的部分和全部元素
int[]a={3,5,1,6,0,8,7,2,4};
int[]b=Arrays.copyOfRange(a,3,6);
int[]c=Arrays.copyOf(a,a.length);
//打印a,b,c数组的元素,用for each 循环
System.out.println("创建数组a,b,c:");
System.out.print("数组a:");
for(int i:a)
{
System.out.print(i+" ");
}
System.out.print("\r"+"数组b:");
for(int i:b)
{
System.out.print("\r"+"数组c:");
}
for(int i:c)
{
System.out.print(i+" ");
}
System.out.println("\r"+"********************");
//调用sort方法对数组进行部分或全部的排序
Arrays.sort(a);
Arrays.sort(b);
Arrays.sort(c,2,5);
//输出排序后的数组元素
System.out.println("对数组进行排序,其中c为部分排序:");
System.out.print("排序后的数组a:");
for(int i:a)
{
System.out.print(i+" ");
}
System.out.print("\r"+"排序后的数组b:");
for(int i:b)
{
System.out.print("\r"+" ");
}
System.out.print("\r"+"排序后的数组c,只对第3到第6个元素进行了排序:");
for(int i:c)
{
System.out.print(i+" ");
}
System.out.println("\r"+"********************");
//搜索指定值
int a6=Arrays.binarySearch(a, 6);
System.out.println("数组a中6的位置是在第"+a6+"个位置");
System.out.println("********************");
//比较两个数组是否相等
System.out.println("比较a,b两个数组是否相等");
boolean flag =Arrays.equals(a, b);
System.out.println("数组a"+((flag)?"等于":"不等于")+"数组()");
}}
Arrays.copyOf(a,a.length);不能使用啊?请高手看一下呗!!
package shuzu;
import java.util.Arrays;
public class ArrayTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//创建数组a,b,c,其中b,c是调用copyOf方法分别拷贝a的部分和全部元素
int[]a={3,5,1,6,0,8,7,2,4};
int[]b=Arrays.copyOfRange(a,3,6);
int[]c=Arrays.copyOf(a,a.length);
//打印a,b,c数组的元素,用for each 循环
System.out.println("创建数组a,b,c:");
System.out.print("数组a:");
for(int i:a)
{
System.out.print(i+" ");
}
System.out.print("\r"+"数组b:");
for(int i:b)
{
System.out.print("\r"+"数组c:");
}
for(int i:c)
{
System.out.print(i+" ");
}
System.out.println("\r"+"********************");
//调用sort方法对数组进行部分或全部的排序
Arrays.sort(a);
Arrays.sort(b);
Arrays.sort(c,2,5);
//输出排序后的数组元素
System.out.println("对数组进行排序,其中c为部分排序:");
System.out.print("排序后的数组a:");
for(int i:a)
{
System.out.print(i+" ");
}
System.out.print("\r"+"排序后的数组b:");
for(int i:b)
{
System.out.print("\r"+" ");
}
System.out.print("\r"+"排序后的数组c,只对第3到第6个元素进行了排序:");
for(int i:c)
{
System.out.print(i+" ");
}
System.out.println("\r"+"********************");
//搜索指定值
int a6=Arrays.binarySearch(a, 6);
System.out.println("数组a中6的位置是在第"+a6+"个位置");
System.out.println("********************");
//比较两个数组是否相等
System.out.println("比较a,b两个数组是否相等");
boolean flag =Arrays.equals(a, b);
System.out.println("数组a"+((flag)?"等于":"不等于")+"数组()");
}}
数组a:3 5 1 6 0 8 7 2 4
数组b:
数组c:
数组c:
数组c:3 5 1 6 0 8 7 2 4
********************
对数组进行排序,其中c为部分排序:
排序后的数组a:0 1 2 3 4 5 6 7 8
排序后的数组b:
排序后的数组c,只对第3到第6个元素进行了排序:3 5 0 1 6 8 7 2 4
********************
数组a中6的位置是在第6个位置
********************
比较a,b两个数组是否相等
数组a不等于数组()跑出来了,我这没报错
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
The method copyOfRange(int[], int, int) is undefined for the type Arrays
The method copyOf(int[], int) is undefined for the type Arrays at Person.Test.main(Test.java:15)
Arrays.copyOf(a,a.length)这两个方法。