下面是今天遇到的一题,写了代码,编译没问题,但是没预期结果,求学友们分析一波
分析以下需求,并用代码实现:
(1)定义一个int类型的一维数组,内容为{6,2,9,15,1,5,20,7,18}
(2)将数组最大元素与最后一位元素进行交换,最小元素与第一位元素进行交换,并打印数组
这是我写的代码:- class ShuZu1 {
- public static void main(String[] args) {
- int[] arr={6,2,9,15,1,5,20,7,18};
- int max=getMax(arr);//获取最大元素索引
- int min=getMin(arr);//获取最小元素索引
- jiaoHuan(arr[0],arr[min]);//第一位元素与最小元素交换
- jiaoHuan(arr[arr.length-1],arr[max]);//最后一位元素与最大元素交换
- print(arr);//遍历打印数组
- }
- public static void print(int[] arr) {
- for (int x=0;x<arr.length ;x++ ) {
- System.out.print(arr[x]+" ");
- }
- }
- public static void jiaoHuan(int a,int b) {
- int x=a;
- a=b;
- b=x;
- }
- public static int getMax(int[] arr) {
- int max=0;
- for (int x=1;x<arr.length ;x++ ) {
- if (arr[max]<arr[x]) {
- max=x;
- }
- }
- return max;
- }
- public static int getMin(int[] arr) {
- int min=0;
- for (int x=1;x<arr.length ;x++ ) {
- if (arr[min]>arr[x]) {
- min=x;
- }
- }
- return min;
- }
- }
复制代码
哪里出问题了。。。。。急求 |
|