질문

sdseon21 Reply 4 years 23 weeks ago
같은 행, 같은 열, 대각선 위치에 Q가 없도록 for문 안에서 각각 조건문 만들고 false가 되는 순간 for문 밖으로 나오도록 break를 짠건데 break가 i=0일 때 false여도 for문 밖으로 나와서 나머지 i에 대해선 과정이 생략되는게 아니라 다음 i로 넘어가는건가요?? 마지막 print문에서 if(isvalid)하면 isvalid가 잘못 설정된걸로 뜨네요...!
withcs2 Reply 4 years 23 weeks ago
if(a==b) isValid = false; break; 이 코드는 if문 밖에서 break가 작동합니다..!
withcs2 Reply 4 years 23 weeks ago
그리고 isValid를 for문 안에서 선언하면 for문 안에서만 쓸 수 있어요. 밖에서도 isValid를 확인하고싶다면 선언을 for문 밖에서 해주세요.
withcs2 Reply 4 years 23 weeks ago
break하면 for문 밖으로 나가는거 맞아요. 다만 isValid가 선언이 안되어있어서 에러 발생하는겁니다.
sdseon21 Reply 4 years 23 weeks ago
넵 감사합니다..!
sdseon21 Reply 4 years 23 weeks ago
지금 변경을 좀 했는데 결과가 안 나오네요ㅜㅜ 이유가 뭘까요??
withcs2 Reply 4 years 23 weeks ago
lastIndexOf를 잘못 이해하신 것 같습니다. System.out.println("Q.......".indexOf('Q')); System.out.println("Q.......".lastIndexOf('Q')); 이 코드를 한번 실행해보세요.