Java-else在循环语句中继续执行

Java-else在循环语句中继续执行,java,if-statement,Java,If Statement,这把我难住了。我使用一个循环遍历一个数组,然后使用ifs/else查找它是否符合条件。然而,else语句仍在执行,即使if也在执行。也许我错过了一些基本的东西。我需要在用户输入一种类型以及数组中的项目也符合该类型时两次检查if语句 干杯 for (int i = 0; i < movies.length; i++) { //RentalMovie movie = movies[i]; if(movies[i].getMovieGenre().equalsIgn

这把我难住了。我使用一个循环遍历一个数组,然后使用ifs/else查找它是否符合条件。然而,else语句仍在执行,即使if也在执行。也许我错过了一些基本的东西。我需要在用户输入一种类型以及数组中的项目也符合该类型时两次检查if语句

干杯

  for (int i = 0; i < movies.length; i++)
  {
     //RentalMovie movie = movies[i];

     if(movies[i].getMovieGenre().equalsIgnoreCase("action") && movies[i].getMovieGenre().equalsIgnoreCase(genreID))
     {
        genreList += movies[i].getMovieID() + " - " + movies[i].getMovieTitle() + "[" + movies[i].getMediaType() + "]\n";
     }
     else if(movies[i].getMovieGenre().equalsIgnoreCase("childrens") && movies[i].getMovieGenre().equalsIgnoreCase(genreID))
     {
        genreList += movies[i].getMovieID() + " - " + movies[i].getMovieTitle() + "[" + movies[i].getMediaType() + "]\n";         
     }
     else if (movies[i].getMovieGenre().equalsIgnoreCase("drama") && movies[i].getMovieGenre().equalsIgnoreCase(genreID))
     {
        genreList += movies[i].getMovieID() + " - " + movies[i].getMovieTitle() + "[" + movies[i].getMediaType() + "]\n";            
     }
     else
     {
        genreList += "- No rental movies were found for the genre: " + genreID; 
     } 

  }
for(int i=0;i
可能发生的情况是,
if
语句的计算不正确。这就是我要尝试的:

  for (int i = 0; i < movies.length; i++)
  {
     //RentalMovie movie = movies[i];

     if(movies[i].getMovieGenre().equalsIgnoreCase("action") && movies[i].getMovieGenreID().equalsIgnoreCase(genreID))
     {
        genreList += movies[i].getMovieID() + " - " + movies[i].getMovieTitle() + "[" + movies[i].getMediaType() + "]\n";
     }
     else if(movies[i].getMovieGenre().equalsIgnoreCase("childrens") && movies[i].getMovieGenreID().equalsIgnoreCase(genreID))
     {
        genreList += movies[i].getMovieID() + " - " + movies[i].getMovieTitle() + "[" + movies[i].getMediaType() + "]\n";         
     }
     else if (movies[i].getMovieGenre().equalsIgnoreCase("drama") && movies[i].getMovieGenreID().equalsIgnoreCase(genreID))
     {
        genreList += movies[i].getMovieID() + " - " + movies[i].getMovieTitle() + "[" + movies[i].getMediaType() + "]\n";            
     }
     else
     {
        genreList += "- No rental movies were found for the genre: " + genreID; 
     } 

  }
for(int i=0;i
我想尝试的另一件事是去掉一些代码,即:

 for (int i = 0; i < movies.length; i++)
  {
     //RentalMovie movie = movies[i];

     if(movies[i].getMovieGenre().equalsIgnoreCase("action"))
     {
        genreList += movies[i].getMovieID() + " - " + movies[i].getMovieTitle() + "[" + movies[i].getMediaType() + "]\n";
     }
     else if(movies[i].getMovieGenre().equalsIgnoreCase("childrens"))
     {
        genreList += movies[i].getMovieID() + " - " + movies[i].getMovieTitle() + "[" + movies[i].getMediaType() + "]\n";         
     }
     else if (movies[i].getMovieGenre().equalsIgnoreCase("drama"))
     {
        genreList += movies[i].getMovieID() + " - " + movies[i].getMovieTitle() + "[" + movies[i].getMediaType() + "]\n";            
     }
     else
     {
        genreList += "- No rental movies were found for the genres action, childrens, or drama -";
     } 

  }
for(int i=0;i
我建议的第三件事是尝试一下:

  for (int i = 0; i < movies.length; i++)
  {
     //RentalMovie movie = movies[i];

     if(movies[i].getMovieGenre().equalsIgnoreCase("action") || movies[i].getMovieGenre().equalsIgnoreCase(genreID))
     {
        genreList += movies[i].getMovieID() + " - " + movies[i].getMovieTitle() + "[" + movies[i].getMediaType() + "]\n";
     }
     else if(movies[i].getMovieGenre().equalsIgnoreCase("childrens"))
     {
        genreList += movies[i].getMovieID() + " - " + movies[i].getMovieTitle() + "[" + movies[i].getMediaType() + "]\n";         
     }
     else if (movies[i].getMovieGenre().equalsIgnoreCase("drama"))
     {
        genreList += movies[i].getMovieID() + " - " + movies[i].getMovieTitle() + "[" + movies[i].getMediaType() + "]\n";            
     }
     else
     {
        genreList += "- No rental movies were found for the genre: " + genreID; 
     } 

  }
for(int i=0;i
我怀疑您的意思是,数组中的某些条目确实与您的搜索条件匹配,而其他条目则不匹配。对于每个匹配,执行相应的
if
子句,但对于每个不匹配,执行
else

由于else中的操作是添加一条消息,指示未找到任何匹配项,因此您可能不希望每次找到一个不匹配项时都添加该消息。相反,如果根本没有找到匹配项,那么您希望在循环之后执行一次。这可能看起来像:

String genreList = "";

for (int i = 0; i < movies.length; i++)
  {
     if(movies[i].getMovieGenre().equalsIgnoreCase("action") && movies[i].getMovieGenre().equalsIgnoreCase(genreID))
     {
        genreList += movies[i].getMovieID() + " - " + movies[i].getMovieTitle() + "[" + movies[i].getMediaType() + "]\n";
     }
     else if(movies[i].getMovieGenre().equalsIgnoreCase("childrens") && movies[i].getMovieGenre().equalsIgnoreCase(genreID))
     {
        genreList += movies[i].getMovieID() + " - " + movies[i].getMovieTitle() + "[" + movies[i].getMediaType() + "]\n";         
     }
     else if (movies[i].getMovieGenre().equalsIgnoreCase("drama") && movies[i].getMovieGenre().equalsIgnoreCase(genreID))
     {
        genreList += movies[i].getMovieID() + " - " + movies[i].getMovieTitle() + "[" + movies[i].getMediaType() + "]\n";            
     }
     else
     {
     } 

  }

if (genreList.equals(""))
{
  genreList = "No rental movies were found for the genre: " + genreID;
}
字符串genreList=”“;
for(int i=0;i