2016-12-05 1 views
-5

다음 메소드의 목적은 사용자가 seriesLibrary 객체에 포함 된 arrayList의 값과 일치하도록 입력을 검사해야합니다. 현재 그렇게 실패하고 값이유효성 검사 방법이 작동하지 않습니다. 어디로 잘못 가고 있습니까?

public static String checkUserInputSeriesName(Scanner sc, SeriesLibrary seriesLibrary){ 
    boolean validInput = false; 
    String seriesName = null; 
    do{ 
     validInput = false; 
     seriesName=sc.nextLine(); 
     for(int i = 0; i < seriesLibrary.getTvSeries().size(); i++){ 
      if(seriesName.equals(seriesLibrary.getTvSeries().get(i))){ 
       validInput = true; 
      }else{ 
       System.out.println("That Series does not exist, please try again!"); 
       sc.nextLine(); 
      } 
     } 
    }while(!validInput); 
    return seriesName; 
} 
+0

당신이 전달하는 SeriesLibrary seriesLibrary 매개 변수를 넣을 수있는 ArrayList에있는 경우에도 불구하고 다른 옵션을 출력 계속? 그것은 객체이고 객체의 목록 또는 배열이 아니기 때문입니다. – Gatusko

+0

그냥 단계별로 코드를 실행하면 무슨 일이 일어나는가 나타납니다 – njzk2

+0

@dur 내가 코멘트에서 말했듯이, 나는 else 문이 현재 문제라는 것을 알고 있지만 거기에서 어디로 가야할지 모르겠다. – AceVenturos

답변

0
public static String checkUserInputSeriesName(Scanner sc, SeriesLibrary seriesLibrary){ 
    boolean validInput = false; 
    String seriesName = null; 
    do{ 
     validInput = false; 
     seriesName=sc.nextLine(); 
     for(int i = 0; i < seriesLibrary.getTvSeries().size(); i++){ 
      if(seriesName.equals(seriesLibrary.getTvSeries().get(i))){ 
       validInput = true; 
      } 
     } 
     if(!validInput){ 
      System.out.println("That Series does not exist, please try again!"); 
      sc.nextLine(); 
     } 
    }while(!validInput); 
    return seriesName; 
} 
관련 문제