Questo è un piccolo esempio, tenendo il tuo codice come base:

codice:
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Scanner;


public class LetturaInArray {


    public static void main(String[] args) {
        // creo un oggetto Scanner per leggere input da tastiera
        Scanner sc = new Scanner(new InputStreamReader(System.in));




        String line;
        int num;
        ArrayList<Integer> array = new ArrayList<>();




        // ciclo potenzialmente infinito
        while(1 != 0) {
            System.out.print("Inserire numero: ");




            // leggo la riga inserita dall'utente
            line = sc.nextLine();




            // se la riga e' vuota allora smetto di leggere
            if(line.equals("")) break;




            // altrimenti converto quello che e' stato inserito in un numero
            // PS. qui ci sarebbe da fare anche qualche altro controllo...
            num = Integer.parseInt(line);


            /* memorizzo il numero */
            array.add(num);




            // ripeto all'utente il numero che ha appena inserito
            System.out.println("Hai inserito " + num);
        }


        /* stampo la lista di tutti i numeri memorizzati */
        for(int n : array) {
            System.out.println(n);
        }




        System.out.println("Termino");
        sc.close();


    }
}


Comunque ti consiglio di fare come dicevo prima: dichiarare l'array (o la lista, nel mio caso) come variabile di classe e poi andare ad operare su di esso con vari metodi.