nhg1113   3년 전

코드를 계속 수정중입니다.

일단 코드가 어떻게 진행되는지 설명해드리겠습니다.

issquare 메소드부터 설명 드리면,

double형 제곱근을 int형 제곱근으로 형변환 시킨 후 double과 int형의 제곱근 둘을 비교해서 다르면 제곱근이 아니고 같으면 제곱근이게 코딩했습니다.

main 메소드를 설명 드리면 4중 for문으로,

첫번째 for문은 일단  등차수열을 시작할 (x,y)좌표중 x좌표의 위치를 선택하는 for문입니다.

두번째 for문은 등차수열을 시작할 y좌표의 위치를 선택하는 for문입니다.

세번째 for문은 x좌표의 공차를 고르는 for문입니다.

마지막으로 네번째 for문은 y좌표의 공차를 고르는 for문입니다.

총 네가지 변수를 고른 후 각 변수에 따라 등차수열을 고르는 프로그램이라고 할 수 있습니다.


(이해가 되신다면 아래글을 읽어주세요)

이해가 안되실까봐 예를 하나 들어보겠습니다.

4중 for문이 다 돌아갔다고 가정합시다. 그렇게 해서 골라진 수가 (0,0,1,2)라고 해봅시다

그러면 시작점은 (0,0) x공차 1, y공차 2 이 됩니다.

이러면 (0,0)부터 (1,2), (2,4), (3,6) 이런 식으로 x등차 y등차의 형태로 진행된다는 겁니다.

그런데 이 코드를 채점하면 런타임에러가 나옵니다. 

배열의 범위가 잘못된걸까요? 

아니면 for문이 너무 많이 돌아서일까요?

잘 모르겠네요....

다른 글을 찾아보니 scanner가 너무 오래걸려서 버그로 인해 런타임에러가 나올 수 있다고 해서 BufferedReader로 바꿔봤는데 똑같네요....

제 코드의 문제점을 알고 싶습니다!

댓글을 작성하려면 로그인해야 합니다.