Como faço pra rodar essa classe?

Pessoal sou iniciante em java e em programação eu tenho a seguinte,
ela recebe recebe primeiramente um número, através da variável e, depois
o array a1 recebe 10 valores. Era pra classe pegar esses 10 valores e comparar com com o valor atribuido a variável e. Em seguida o exibidor da swing mostraria o valor de e e a quantidade de vezes que o valor de e foi igual a os valores contidos no array.

segue a classe

package execicio;
public class MediaMaior {

public MediaMaior() {
	// TODO Auto-generated constructor stub			


/**
 * @param args
 */
}
public static void main(String[] args) {
	// TODO Auto-generated method stub
	
	int b=1;
	int e=Integer.parseInt(javax.swing.JOptionPane.showInputDialog("Número para comparação: "));
	int[] a1;
	a1 = new int[ 10 ]; 
	int cont=0;
	
	do{
		a1[b]= Integer.parseInt(javax.swing.JOptionPane.showInputDialog("Informe número: "+b));
		if(a1[b]==e){
			cont++;
		}
		b++;

		}while (b<=a1.length);
	
	javax.swing.JOptionPane.showMessageDialog(null," Número independente: "+ e +" Número de ocorrências: " + cont);
}

}

[/u]

Bom dia…
Esta ocorrendo uma ArrayIndexOutOfBoundsException
significando que você estourou o limite de seu array.
No codigo você define que seu array tera 10 posições

int[] a1 = new int[10];

porem esta o iniciando em 1, logo de 1 até 10 temos 9 posições.

então no fim esta fazendo uma comparação que enquanto menor ou igual(<=), e desta forma fazendo com que o ultimo loop estoure o limte do array, pois esta recebendo um valor mais que seu tamanho suporta.

Eu recomendo mudar o tamano de 10 para 11 e trocar a comparação de <= para <.

Isso deverá solucionar…

Claro que tem outras soluções possiveis…

Qualquer coisa estamos ai.

Abraço.