볼링게임 점수판 만들라는데 스트라이크 계산이 제대로 안돼.

머리 터질거 같아..도와주세요 형누나삼촌이모들...


public class Bowling_game {

static int result[] = new int[22];

static int score[] = new int[30];

static int[] score_input() {

Scanner scan = new Scanner(System.in);

System.out.printf("총 10회차 볼링 점수판을 입력하시오.(공백구분)");

for(int i=0 ; i<20 ; i++) {

result[i] = scan.nextInt();

if(result[i]==10) { //스트라이크시 해당 회차 두번째 점수판 건너뛰기

i++;

continue;

}

if((result[i] < 0 && result[i] > 10) || (i%2==1 && result[i]+result[i-1] > 10))  {

System.out.printf("input error! 점수범위(1~10점)\n처음부터 다시 입력하세요.");

i=0;

continue; //잘못된 점수 입력 감지 처음부터 다시

}

}

if(result[18]==10) {

System.out.printf("10회차 스트라이크 성공입니다. 보너스 점수(2회)를 입력하세요.");

result[20] = scan.nextInt();

result[21] = scan.nextInt();

}

else if(result[18]+result[19]==10) {

System.out.printf("10회차 스페어 성공하셨습니다. 보너스 점수(1회)를 입력하세요.");

result[20] = scan.nextInt();

}

scan.close();

return result;

}

static int[] sum(int result[]) {

for(int i=0 ; i<20 ; i++) {

if(i%2 == 0) {

if(result[i] == 10) score[i] = result[i] + result[i+2] + result[i+3]; //strike

else score[i] = result[i] + result[i+1]; //normal

if(result[i] + result[i+1] == 10) //스페어 

score[i] = result[i] + result[i+1] + result[i+2];

if(result[i] == 10 && result[i+2] == 10) //2연 스트라이크

score[i] = result[i] + result[i+2] + result[i+4];

}

}

return score;

}

public static void main(String[] args) {

result = score_input();

score = sum(result);

for(int i=0 ; i<22 ; i++) {

System.out.printf("%2d ", result[i]);

} //잘 입력됐나 확인용 코드

System.out.printf("\n");

for(int i=0 ; i<20 ; i++) {

if(i%2==0)

System.out.printf("%4d ", score[i]);

}

}


}