有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在数组中搜索term和if语句

我有一段代码,它在字符串中搜索一个词,并希望它找到它,然后计数并输出总数。我试图搜索另一个术语并输出该术语的总数

例如:

 for(String[] passenger : passengerList) {
     if(passenger[3].equalsIgnoreCase("female")) {
        allFemale++;
        if(passenger[1] != null && Integer.parseInt(passenger[1]) == 1 {
           femaleSurvivors++; 
        }
     }    
     count ++;
 }
 System.out.println("The number of females who survived: ");
 return femaleSurvivors;
}

现在,我想搜索男性并计算发生的次数。一点运气都没有


共 (1) 个答案

  1. # 1 楼答案

    你真的需要记录4件事,性别(男/女)和身份(死/活)。您可以在一个循环中完成所有操作。它的一部分可以在循环中捕获,一部分可以在事后计算

    int survivors = 0;
    int femaleSurvivors = 0;
    int femaleDeaths = 0;
    for(String[] passenger : passengerList) {
        boolean isFemale = false;
        if(passenger[3].equalsIgnoreCase("female")) {
          isFemale = true;
        }
        if(passenger[1] != null && Integer.parseInt(passenger[1]) == 1) {
          survivors ++;
          if (isFemale){
            femaleSurvivors++; 
          }
        } else {
          if (isFemale){
            femaleDeaths++; 
          }
        }
    
    }
    int totalPassengers = passengerList.size();
    int maleSurvivors = survivors - femaleSurvivors;
    int deaths = totalPassengers - survivors;
    int maleDeaths = deaths - femaleDeaths;
    int males = maleSurvivors + maleDeaths;
    int females = totalPassengers - males;
    
    System.out.println("Survivors (Total/M/F): " + survivors + "/" + maleSurvivors + "/" + femaleSurvivors);
    System.out.println("Deaths (Total/M/F): " + deaths + "/" + maleDeaths + "/" + femaleDeaths);
    System.out.println("Totals (All/M/F): " + totalPassengers + "/" + males + "/" + females);