Печать массива в java, построенного с использованием long []

Я попытался распечатать свой массив несколькими разными методами и, похоже, все испортил. Раньше я что-то получал обратно, а теперь я могу получить обратно только ноль. Если бы кто-нибудь знал, как легко распечатать массив, это было бы здорово. По какой-то причине использование Array.toString не работает.

    public class Array {
private long[] InitialArray;
private int size = 0;

/**
 * the default constructor
 */
public Array(int size){
    InitialArray = new long[size]; 
}

/**
 * this will scan in integers from a file
 * @param scans
 */
public Array(Scanner scans){
    this(1);
    int j = 0; //just used as a counter basically
    while(scans.hasNext()){ //grabs each element
        this.insert(Integer.parseInt(scans.nextLine())); //inserts it
        j++; //steps through using the counter
    }
}

/**
 * this will make the array longer if more space is needed so you don't
 * crash if you have a very large set of numbers
 */
public void stretch(){
    long[] temp = new long[InitialArray.length *2]; //makes a temp array double the normal size
    for(int i=0; i < InitialArray.length; i++)
        temp [i] = InitialArray[i]; //steps through the old array to keep the data
    InitialArray = temp; //assigns the temp array to the new array
}

/**
 * this will insert each element read, from a file, into the array
 * @param x
 */
public void insert(int x){
    if (this.size+1 == InitialArray.length){ //trying not to crash
        stretch(); //making sure I don't crash
    }
    InitialArray[size++] = x; //stepping through the numbers and inserting
    sorter();
}

/**
 * this is a selection sort on the array
 * It's not the quickest, but it's fairly easy to build and understand
 * Just finds the minimum element and swaps it to it's proper place
 * @return 
 */
public long[] sorter(){
    for (int i=0; i<InitialArray.length-1; i++){
        int minimum = i; //assigning a minimum
        for (int j=i+1; j<InitialArray.length; j++){
            if (InitialArray[minimum] > InitialArray[j]) { //checking to make sure it is the smallest
                minimum = j; //if it isn't then do this
            }
        }
        if (minimum != i){ //all the swapping stuff, which I never really understand but it works
            long temp = InitialArray[i];
            InitialArray[i] = InitialArray[minimum];
            InitialArray[minimum]= temp;
        }
    }
    return InitialArray;
}
/**
* @param args
  */
public static void main(String[] args) {
Scanner scans;
try {
    scans = new Scanner(new FileInputStream("src/some numbers.txt"));
    Array InitialArray = new Array(scans);
    System.out.println(InitialArray);
} catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
}
}

Я все время получал ошибку, говоря, что это должен быть тип массива, но разрешен в Array. Мне просто нужно посмотреть, работает ли что-нибудь еще.

0
задан Defc0n 27 September 2011 в 06:15
поделиться