这个代码哪里错了啊?

public class test{
public static void main(String[] args) {

    int []arr;
    for(int i = 0;i<arr.length;i++) {
        arr[i]=(int)(Math.random()*100);

    }
    
} 

}

数组 int[] arr 未初始化长度,否则进入循环时,会报下标越界。以下供参考

/** 主函数 */
public static void main(String[] args) {
    // 初始化数组长度为10
    int[] arr = new int[10];
    for (int i = 0; i < arr.length; i++) {
        arr[i] = (int) (Math.random() * 100);
        System.out.println(arr[i]);
    }
}

定义数组时未指明长度或给出数组元素,arr.length出错

我想要一个代码函数表述--赋值当日数值;赋值昨日数值;当当日数值/前一日数值>0.2,符合条件选中。这个能找大神写一下吗?[可怜]