Alguem pode me ajudar!!!
estou tentando fazer um programa para inverter valores digitados
quando faço apenas no formulario principal da certo, mas quanto crio uma classe separada do meu form da esse erro ai
package view;
import javax.swing.JOptionPane;
import source.Cliente;
private void btnOkActionPerformed(java.awt.event.ActionEvent evt) {
String n = txtN.getText();
int q = txtN.getText().length();
Cliente c = new Cliente(n, q);
c.resolve();
c.imprimir();
}
package source;
import view.FrmCliente;
import javax.swing.JOptionPane;
public class Cliente {
private String n = ""; // numeros digitados
private int q = 0; // quantidade caracteres armazenados
private String resu = "";
public Cliente(){
}
/** Criar instancia dos valores armazenados */
public Cliente(String n, int q) {
this.setN(n);
this.setQ(q);
}
/** Pegar valor dos atributos */
public String getN() {
return n;
}
public int getQ() {
return q;
}
/** Alterar valor dos atributos */
public void setN(String n) {
this.n = n;
}
public void setQ(int q){
this.q =q;
}
public String getResu(){
return resu;
}
public void setResu(String resu){
this.resu = resu;
}
public void resolve(){
for (int i = 1; i <= this.q; ++i) {
this.resu = this.n.charAt(i) + this.resu;
}
}
public void imprimir(){
JOptionPane.showMessageDialog(null, "Valor é " +this.resu);
}
}
Exception in thread "AWT-EventQueue-0" java.lang.StringIndexOutOfBoundsException: String index out of range: 3
at java.lang.String.charAt(String.java:558)
at source.Cliente.resolve(Cliente.java:64)
at view.FrmCliente.jButton1ActionPerformed(FrmCliente.java:71)
at view.FrmCliente.access$000(FrmCliente.java:15)
at view.FrmCliente$1.actionPerformed(FrmCliente.java:55)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
at java.awt.Component.processMouseEvent(Component.java:5488)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
at java.awt.Component.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3955)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1774)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
BUILD SUCCESSFUL (total time: 5 minutes 1 second)