<div><span style="font-size:9pt;line-height:1.5;">text는 텍스트 파일에 이미 저장되어 있고 </span><span style="font-size:9pt;line-height:1.5;">input은 키보드로 입력받는 문자열입니다.</span></div> <div>그 둘을 비교하는 함수인데요</div> <div><br></div> <div>아래 함수를 실행하면 문자열이 2자 이상인 경우는 문제가 없는데 1개만 입력하는 경우 </div> <div>java.lang.ArrayIndexOutOfBoundsException 가 뜹니다.</div> <div><br></div> <div>예를 들면 ab를 입력하면 정상적으로 작동하고</div> <div>a만 입력하면 에러가 발생합니다.</div> <div><br></div> <div>더 이상한건 아래 소문자를 대문자로 변경하는 if문이 없으면 에러가 뜨지 않고요</div> <div><br></div> <div><br></div> <div>public static boolean stringcheck(char[] text, char[] input) {</div> <div><br></div> <div><span style="font-size:9pt;line-height:1.5;"><font color="#ff0000"><span class="Apple-tab-span" style="white-space:pre;"> </span>// 입력 받은 문자가 소문자라면 대문자로 변경 </font><font color="#0070c0">이 부분을 삭제하면 정상 작동 합니다. </font></span></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space:pre;"> </span>if ('a' <= input[0] && 'z' >= input[0]) {</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space:pre;"> </span>input[0] = (char) (input[0] - 32);</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space:pre;"> </span>}</font></div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>// 비교하는 반복문</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>for (int i = 0; i < 4; i++) {</div> <div><span class="Apple-tab-span" style="font-size:9pt;line-height:1.5;white-space:pre;"> </span><span style="font-size:9pt;line-height:1.5;">if (text[i] != input[i]) {<span class="Apple-tab-span" style="white-space:pre;"> </span><font color="#ff0000">//에러가 발생하는 부분</font></span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>return false;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>return true;</div> <div>}</div> <div><br></div> <div>이리 저리 고민해보고 있는데 원인을 잘 모르겠습니다.</div> <div>조언 부탁드립니다</div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.