java - 方法有一个参数,其数据类型为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++)
任何帮助将不胜感激。
解决方案
我建议您查看ArrayList 的文档。向下滚动时,您会看到没有名为 的公共字段length
,因此pList.length
无效。这就是 Eclipse 所抱怨的。相反,您会发现有一个名为size()
. 所以你需要替换pList.length
为pList.size()
.
推荐阅读
- python - 如何让我的 txt 文件将我想要的每个数字放入行中
- scala - Scala 编译器无法在 Spark lambda 函数中推断类型
- spring - 可以与 ResponseEntity 一起使用的 Spring ResponseBodyAdvice
- csv - 如何在 dask datfarame 中读取 csv.deflate hdfs 文件?
- c - 在 C 编程中不断出现分段错误(核心转储),我正在尝试传递 2d 数组
- html - 元素的行为就像它具有固定的定位一样
- sockets - 来自套接字流的 FMX 位图图像加载失败
- kframework - Haskell 后端是否实现了替换?
- python - 为什么我的 plotly 热图改为呈现折线图?
- cryptography - 对称解密算法如何知道IV?