想问问Java的一个错误

问题遇到的现象和发生背景

还在初学Java,想问问这个错误属于什么,要怎么解决呢

遇到的现象和发生背景,请写出第一个错误信息
用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
package JAV;
import java.io.*;
import java.util.Scanner;
import java.io.File;

public class TestEx401a {
        public static void main(String arg[]){
            Scanner in= new Scanner(System.in);
            String dir;
            dir=in.nextLine();
            ListFiles(new File(dir));
        }
        public static void ListFiles(File dir){
            if(!dir.exists()||!dir.isDirectory())return;
            String[]files=dir.list();
            for(int i=0;iFile file=new File(dir,file[i]);
                if(file.isFile()){
                    System.out.println(dir+"\\"+file.getName()+"\t"+file.length());
                }
                else{
                    System.out.println(dir+"\\"+file.getName()+"\t");
                    ListFiles(file);
                }
            }
        }
    }

运行结果及详细报错内容

java: 需要数组, 但找到java.io.File

我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%

报错是:java: 需要数组, 但找到java.io.File

我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”

File file=new File(dir,file[i]); 你这行代码写错一个变量名 file[i] 应该是 files[i],

 File file=new File(dir,files[i]);