Java - else in the loop statement keeps executing -
this has me stumped. im using loop go through array , using ifs/else find whether meets criteria. else statement keeps being executed though if being executed aswell. basic im missing. need check in if statements twice user entering genre aswell item in array meets genre too.
cheers
(int = 0; < 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 found genre: " + genreid; } }
i suspect mean have entries in array match search condition, , others don't. each match, appropriate if clause executing, each non-match, else executing.
since action in else add message indicating no matches found, don't want add every time single non-match found. rather, want once, after loop, if no matches @ found. might like:
string genrelist = ""; (int = 0; < 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 found genre: " + genreid; } p.s. don't understand @ why checking genre each movie against both genreid , hardcoded value before accepting it. there other genres exist in list don't want user able search for? that's way seems make sense, doesn't seem sensible requirement.
Comments
Post a Comment