배열 A(99)에 2~100사이의 정수를 기억시킨 후 이 배열을 이용하여 소수의 개수를 구하시오.. 이거야.. ㄷㄷ

package algorithm;

public class algorithm {

public static void main(String[]args){

int[] A = new int[99];

int M; int K=1;

do{

K=K+1;

A[K-1]=K;}

while(K<100);

int i=0; int J=0;

do{

do{

i=i+1;

if(i>99){System.out.println(J);break;}

 }

while(A[i]==0);

J=J+1;

M=i;

do{M=M+A[i];

A[M]=0;

 }

while(M<=99);

}while(M>99);

}

}


이거햇는대 
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 99
at algorithm.algorithm.main(algorithm.java:8)
이렇게뜨내? 어떻게해야되???