Boa tarde!
O que tenho a pedir acho que é simples porém não acho o jeito de conseguir fazer…
Eu tenho um campo que me joga um texto… (asdfg hjklç asdfg hjklç) No campo de baixo eu preciso digitar o mesmo texto que tem no campo de cima…
Caso eu digite certo até o fim ele diz parabéns!
Mas se eu errar, em qualquer momento que seja, (asdfh), ele joga um texto dizendo que errou, e terei que digitar de novo…
Se eu digitar errado ele joga a mensagem: Você errou… Mas se eu digitar certo ele também da erro!
Minha frase é asdfg hjklç
eu digito a ele já joga erro… alguma solução? Obrigado!
T
thiagocg
hatakesakumo, da uma lida sobre comparação de strings, no seu caso vc deveria usar equals e não ‘==’.
[]'s
A
Andre_Rosa
Use o método equals():
if(confere.equals(exer))
H
hatakesakumo
Olá, fiz com equals mas continua o mesmo problema… Se eu digito errado ele joga erro, se eu digito certo ele também joga erro…
Sei o problema, como minha sequência é: asdfg hjklç, assim que eu digito o a ele ve que o a é diferente de: asdfg hjklç…
Preciso de uma forma que ele confira isso letra por letra, e não frase por frase!
O_O
A
Andre_Rosa
Que coisa!
Bem, tome uma medida mais drástica, e compare caractere por caractere.
if(confere.length == exer.length) {
for(int I = 0; I < confere.length; I++) {
if(confere[I] != exer[I]) {
// São diferentes
} else { }
}
}
H
hatakesakumo
Acusou erros nas linhas
if(confere[I]!=exer[I]){
no confere e no length também…
Estou muito inferrujado :oops: :shock:
A
Andre_Rosa
hatakesakumo:
Acusou erros nas linhas
if(confere[I]!=exer[I]){
no confere e no length também…
Estou muito inferrujado :oops: :shock:
E qual é o erro?
H
hatakesakumo
acima estão os erros!
H
hatakesakumo
Soluções?
H
hatakesakumo
Alguma forma de fazer uma verificação caractere por caractere?
L
leandronsp
Olá!
Eu não tenho muita experiência com Java Swing, mas em vez de comparar cada caracter não seria melhor utilizar algo do tipo, um KeyPress event? Imagino que deve ter algo assim…
D
diego.sas
Bom dia hatakesakumo .
Cara da uma olhadinha em PlainDocument.
Com certeza resolvera seu problema.
importjava.awt.BorderLayout;importjava.awt.GridLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JPanel;importjavax.swing.JTextField;publicclassVcaracterextendsJFrameimplementsActionListener{JTextFieldjtf1,jtf2;JLabeljlb1;JButtonbotao;publicVcaracter(){jtf1=newJTextField("asdfg hjklç asdfg hjklç",15);jtf2=newJTextField(15);jlb1=newJLabel();botao=newJButton("Novo teste");botao.addActionListener(this);jtf2.setDocument(newMonitoracao(jtf1.getText().length(),jtf1.getText(),jlb1));jtf2.grabFocus();}/**--------------------------------------------------------------------**//** * Método que monta o layout do jogo. */publicvoidcriaMostraGui(){JPaneljpnPainel=newJPanel(newBorderLayout());JPaneljpnText=newJPanel(newGridLayout(2,0));jpnText.add(jtf1);jpnText.add(jtf2);jpnPainel.add(BorderLayout.NORTH,jpnText);jpnPainel.add(BorderLayout.CENTER,jlb1);jpnPainel.add(BorderLayout.SOUTH,botao);this.getContentPane().add(jpnPainel);this.setLocation(350,250);this.setSize(250,250);this.setResizable(false);this.setVisible(true);}publicstaticvoidmain(String[]args){Vcaractervc=newVcaracter();vc.criaMostraGui();}@OverridepublicvoidactionPerformed(ActionEventarg0){jtf2.setText("");jlb1.setText("");jtf2.removeAll();jtf2.setDocument(newMonitoracao(jtf1.getText().length(),jtf1.getText(),jlb1));jtf2.grabFocus();}}