JAVA编程;定义两个整型数组a和b,并分别填入值。使用Arrays类的常用方法,完成以下操作:

①测试两个数组a和b是否相等。
②尝试将这数组a进行升序排列。
③在按照升序排列的数组a中查询某个由用户指定的数值是否存在。

import java.util.Arrays;

public class Du21 {

public static void main(String[] args) {

int[] a = {1, 23, 5, 57, 129, 11};
int[] b = {2, 4, 6, 8, 10, 13, 3};

boolean isEqual = Arrays.equals(a, b);//测试相等
System.out.println("a = b? " + isEqual);

System.out.println("Before sorting by ASC, a array is: ");
printArray(a);
Arrays.sort(a);//组a进行升序排列
System.out.println("After sorting by ASC, a array is: ");

printArray(a);

//在按照升序排列的数组a中查询某个由用户指定的数值是否存在
int num1 = 11, num2 = 22;

int index = Arrays.binarySearch(a, num1);
int index2 = Arrays.binarySearch(a, num2);

if(index < 0){
System.out.println(num1 + " not found in array a");
}else{
System.out.println(num1 + " is in position " + index + " of array a");
}

if(index2 < 0){
System.out.println(num2 + " not found in array a");
}else{
System.out.println(num2 + " is in position " + index + " of array a");
}
}

private static void printArray(int[] a) {
for(int i = 0; i < a.length; i++){
System.out.print(a[i] + ", ");
}

System.out.println();
}

}

-----------测试
a = b? false
Before sorting by ASC, a array is:
1, 23, 5, 57, 129, 11,
After sorting by ASC, a array is:
1, 5, 11, 23, 57, 129,
11 is in position 2 of array a
22 not found in array a
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-21
这个不是发过了吗??
int[] a=new int[]{1,2,3,4,5};
int[] b=a;
//int[] b =new int[]{1,2,3,4,5};测试
//int[] b =new int[]{1,2,6,3};测试
if(a.equals(b)){//直接用equals判断地址。地址一样即相等
System.out.println("两个数组相等");
}
Arrays.sort(a);//通过sort方法。是按降序排序的。升序可以排序完逆序输出
for(int i=a.length-1;i>=0;i--){
System.out.println(a[i]);
}

//通过二分查找。找到返回下标位置,找不到返回一个随机负数
int num=Arrays.binarySearch(a, 8);
System.out.println(num);
boolean isExists=(Arrays.binarySearch(a, 8)>=0)?true:false;
if(isExists){
System.out.println("存在!");
}追问

555 才学JAVA两个星期,要简单点!看不懂

追答

。。。你不是要这个功能吗???
那我分别和你写了三个功能。并注释了呀
1.用数组.equals(数组)来判断,返回的是布尔类型
a.equals(b)
2直接用Array.sort(数组名),出来就是按升序排列的
3.是用二分查找。。如果在数组中找到就返回下标。找不到就返回一个负数
Arrays.binarySearch(数组名, 元素);
Arrays.binarySearch(a, 8);
。。。楼主你还想怎么简单那?

本回答被提问者采纳
第2个回答  2011-09-21
呦。。。突然发现我没用Array的方法。。。
1楼是对的~ 我就不改了~ 楼主可以研究一下~
public class Test {
public static void main(String[] args ) {
int[] a = new int[10];
int[] b = new int[10];
System.out.println(a.equals(b));//判断是否相等
for (int i = 0; i < a.length; i++) {
for (int j = i+1; j < a.length; j++) {
if(a[i]>a[j]){
int temp = 0;
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);//排序后的a
}
int temp = 3;//获取输入的话 你可以查查怎么获取控制台输入
for (int i = 0; i < a.length; i++) {
if(a[i]==3){
System.out.println("是的~ 包含这个数字");
}
}
}
}
第3个回答  2011-09-22
用equals判断是否相等,注意用“=”不能判断值 是否相等,“=”比较的是地址
第4个回答  2011-09-21
public void tt(){ int test[]=new int[]{4,2,1,5,1,6,2,6,23,98}; int max=0; int sum=0; for(int i=0;i
相似回答