为什么这就地逆序不了,这个reverse运行不了

package shuju;import java.util.ArrayList;public class CArrayList { private static Object length; private ArrayList notes= new ArrayList(); private int value=0; private int curLen; public int length(){ return (Integer) CArrayList.length; } public int add(Integer b){ notes.add(b); return b; } int getNote(int index){ return notes.get(index); } public void reverse() { Integer temp;//定义交换变量 for (int i = 0; i < curLen/2; i++) { Object[] notes = null; //将a[0]与a[n]进行交换 然后是a[1]与a[n-1]交换,以此类推,进行顺序表的长度的一半次运算 temp = (Integer) notes[i]; notes[i] = notes[curLen-i-1]; notes[curLen-i-1] = temp; } } public static void main(String[] args) { // TODO Auto-generated method stub CArrayList ch=new CArrayList(); ch.add(32); ch.add(42); ch.reverse(); System.out.println(ch.getNote(1)); }}

public class CArrayList {
    private ArrayList<Integer> notes = new ArrayList();
    public void add(Integer b) {
        notes.add(b);
    }
    List<Integer> getNotes() {
        return notes;
    }

   int[] reverse(int[] notes) {
      //定义交换变量
        for (int i = 0; i < notes.length/ 2; i++) {
            //将a[0]与a[n]进行交换 然后是a[1]与a[n-1]交换,以此类推,进行顺序表的长度的一半次运算
            int temp = (Integer) notes[i];
            notes[i] = notes[notes.length - i - 1];
            notes[notes.length - i - 1] = temp;
        }
        return notes;
    }

    public static void main(String[] args) {
        CArrayList ch = new CArrayList();
        int[] arr = new int[4];
        ch.add(32);
        ch.add(42);
        ch.add(65);
        ch.add(2);
        for (int i = 0; i < ch.getNotes().size(); i++) {
            arr[i] = ch.getNotes().get(i);
            System.out.print(arr[i]+" ");
        }
        System.out.println();
        System.out.println("反轉數組之後的結果是:");
        int[] reverse = ch.reverse(arr);
        for (int number :reverse) {
            System.out.print(number + " ");
        }
    }
}

img

看了你寫的邏輯上是沒有問題的 小建議:可以在練習的時候稍微明確一下對於變量的使用(防止程式雜亂冗餘,也可以在編寫的的時候更清晰)

这个代码贴出来你自己看着不晕么