首页 > 解决方案 > 方法有一个参数,其数据类型为Passenger的ArrayList

问题描述

所以,我有这个方法,printStats,它的参数 pList 的数据类型是乘客的 ArrayList:

public static void printStats(ArrayList<Passenger> pList) {
            Scanner file = new Scanner( new File( "titanic.csv" ) );
            DecimalFormat percent = new DecimalFormat("#.0%");
            String header = file.nextLine();
        while (file.hasNextLine()){
            String gender;
            String survived;
            int count = 0;
            int males = 0;
            int females = 0;
            int survivedMales = 0;
            int survivedFemales = 0;
            for(int i=0; i<pList.length;i++) {
                if (gender.equals ("M"))
                { males++;
                    if (survived.equals("yes"))
                        survivedMales ++;}
                        else
                        {
                            females++;
                        }
                            if (survived.equals("yes"))
                                survivedFemales ++;}
                        count++
            System.out.println("Total number of passengers: " + count);
            System.out.println("Total number of male passengers: " + males);
            System.out.println("Total number of female passengers: " + females);
            System.out.println("Total number of male passengers survived: " + survivedMales);
            System.out.println("Total number of female passengers survived: " + survivedFemales);
            System.out.println("Survival rate of male passengers: " + percent.format(survivedMales/males));
            System.out.println("Survival rate of female passengers: " + percent.format(survivedFemales/females));
            }

我在 for 循环中不断出现语法错误,特别是在“i < pList.length”中:

for(int i=0; i<pList.length;i++)

任何帮助将不胜感激。

标签: javaarrayslistloopsfor-loop

解决方案


我建议您查看ArrayList 的文档。向下滚动时,您会看到没有名为 的公共字段length,因此pList.length无效。这就是 Eclipse 所抱怨的。相反,您会发现有一个名为size(). 所以你需要替换pList.lengthpList.size().


推荐阅读