내가 원하는 것은 파일을 읽는 것이고 텍스트는 data []라는 문자열 배열에 저장됩니다. data [3]에는 "Warning Lights are red"또는 "Warning Lights are green"중 하나가 포함되어야하며, 손상된 경우에는 던져 넣기를 원하는 사용자 정의 예외가 정의되어 있지 않습니다. 다음과 같이 내 코드는 다음과 같습니다예외가 항상 throw됩니다.
if(data[3].equals("Warning Lights are red")){
//do something
}
else if(data[3].equals("Warning Lights are green")){
//do something
}
else if(!data[3].equals("Warning Lights are red") && !data[3].equals("Warning Lights are green")){
throw new FileCorruptionException("Unfortunately the status file was corrupted, please try printing to the file again to fix this issue.");
}
을 나는 데 문제가 FileCorruptionException 항상 데이터 [3] 실제로 동일한 경우에도 발생되고 있다는 것입니다 중 경고등이 녹색 ""경고등은 빨간색 "또는 ", 나는 이것을 확인하기 위해 텍스트 파일을 체크했다. 나는 논리적 인 오류가 있다고 생각하지만 그것이 무엇인지 알지 못한다. 모든 제안을 부탁드립니다.
아마도 'data [3]'에는 생각하는 내용이 포함되어 있지 않을 수 있습니다. 확인을 위해 값과 길이를 출력 했습니까? –
가짜 공백이 있는지 확인하십시오. – Stewart
질문에서 주장한 것 중 적어도 하나가 사실 일 수는 없습니다. 그렇지 않으면 코드가 예상대로 실행됩니다. 이 문제를 좀 더 철저하게 조사하려면이 것을 [최소 테스트 케이스] (http://stackoverflow.com/help/mcve)로 줄여야합니다. –