Javaの配列を宣言して要素にアクセスするとnullになってしまう


java初心者です。問題集で見つけた配列を使用し干支を求めようという問題に取り組んでおりますが、現在下記のソースコードだと結果がnullになってしまいます。西暦を入力し12で割った余りが4なら子年、5なら丑年としたいため、追加点教えて頂きたく質問させて頂きました。

[code]

    package practice;
    
    import java.util.Scanner;
    
    public class Practice {
    
        public static void main(String[] args) {
            Scanner scan = new Scanner(System.in);
            int year = scan.nextInt();
    
            String[] array = new String [12];
            System.out.println(array[year % 12]);
    
            array[0] = "申年です。";
            array[1] = "酉年です。";
            array[2] = "戌年です。";
            array[3] = "亥年です。";
            array[4] = "子年です。";
            array[5] = "丑年です。";
            array[6] = "寅年です。";
            array[7] = "卯年です。";
            array[8] = "辰年です。";
            array[9] = "巳年です。";
            array[10] = "午年です。";
            array[11] = "未年です。";
    
            for(int i=0; i<array.length; i++){
    
            }
        }
    }
    
[/code]




`array`が初期化されていないのが原因です。  
配列変数`array`に値を代入した後に、

[code]

    System.out.println(array[year % 12])
    
[/code]

で期待する動作(`null`以外の内容が出力されるようになる)になると思います。

＃入力した「年」に対する正しい干支を出力するためのコードは省略します。

