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