Erro - Applet

Galera, venho solicitar a ajuda de vocês novamente!! Eu compilo o programa abaixo e nao da erro nenhum, mas quando ele abre o Applet, ocorre o seguinte erro:

Eu reparei o seguinte, quando eu tiro a linha

s = s + “” + n.charAt(n.length() - counter);

o erro não ocorre. Alguém pode me ajudar?? Obrigado!!!

import java.awt.Container;
import java.awt.*;
import javax.swing.*;

public class Exe6_27 extends JApplet {
	
	public void init() {
		String sN1, sRes, sMensagem;
		JTextArea tela= new JTextArea();
		Container c = getContentPane();
		c.add(tela);

		sN1 = JOptionPane.showInputDialog("Digite uma palavra: ");

		sRes = Inverter(sN1);
		sMensagem = "O número " + sN1 + "em ordem inversa é: " + sRes;
		tela.setText(sMensagem);
	}
	
	public String Inverter (String n) {
		String s = "";
		int i;
		for (int counter = 0; counter < n.length(); counter++){
			s = s + "" + n.charAt(n.length() - counter);
		}
		return s;
	}
}

Tenta colocar a instrução dentro de um
Try{}catch e capturar a exception q esta sendo lançada

Eu ainda não aprendi Try {} Catch… EU só não entendo o que está errado no código que coloquei… Alguém saberia me dizer??

Sim, o problema esta nesse

s = s + "" + n.charAt(n.length() - counter);

Olha só, vamos supor que vc digitou “1234” (n), na primeira vez que passar ai counter vai ser igual a 0 e n.length é igual a 4, logo vai fazer n.charAt(4)

Só que essa string na real é assim:
charAt(0) = ‘1’
charAt(1) = ‘2’
charAt(2) = ‘3’
charAt(3) = ‘4’

Como um array normal, logo não existe posicao 4 nela, quando tentar acessar essa posicao o sistema vai lançar um StringIndexOutOfBoundsException e seu applet vai falhar.

Existe varias formas de arrumar, ai vão 2:

for (int counter = 1; counter <= n.length(); counter++) {
	s = s + "" + n.charAt(n.length() - counter);
}

ou

for (int counter = 0; counter < n.length(); counter++) {
	s = s + "" + n.charAt(n.length() - counter - 1);
}

Cara, deu certo… Eu realmente não sabia deste conceito… Achei que a função length() também iniciava a partir de zero.

Muito obrigado!!