Galera responde logo por favor ok.
e o seguinte, estou fazendo um programa de digitação em java ate ai blz, só que não consigo comparar as letras, tipo o programa pede para a pessoa digitar uma letra ela digita ok, só que essa mesma letra ta em outros cantos do programa, criei vários ifs um if anula o outro me ajuda e meu, valeu pela atenção.
ps: tem algum programa de digitação feito em java de codigo aberto??
da uma olhada ai.
String Sequencia;
int acertos = 0;
Character Sequencia1 = evt.getKeyChar();
if (String.valueOf(Sequencia1).equals("a")) {
Seta.setVisible(true);
Seta.setLocation(330,30);
}
else{
}
if (String.valueOf(Sequencia1).equals("s")) {
Seta.setVisible(true);
Seta.setLocation(500,30);
}
else{
}
if (String.valueOf(Sequencia1).equals("d")) {
Seta.setVisible(true);
Seta.setLocation(660,30);
}
else{
}
if (String.valueOf(Sequencia1).equals("f")) {
Seta.setVisible(true);
Seta.setLocation(820,30);
}
else{
}
if (String.valueOf(Sequencia1).equals(" ")) {
Seta.setVisible(true);
Seta.setLocation(170,30);
btn_Ç.setVisible(true);
btn_L.setVisible(true);
btn_K.setVisible(true);
btn_J.setVisible(true);
btn_A.setVisible(false);
btn_S.setVisible(false);
btn_D.setVisible(false);
btn_F.setVisible(false);
Por favor, ao abrir tópicos procure dar um título descritivo. O título “me ajuda” não dá qualquer dica sobre o conteúdo ou dúvida, e dificulta tanto para quem vai te ajudar, quanto para quem irá consultar o GUJ no futuro.
Além disso, use a tag code, como tguerra explicou e procure ser claro na sua dúvida.
Finalmente, procure ler com a atenção a descrição dos fóruns antes de postar. Seu tópico aparentemente é de interface gráfica e não de Java Básico.
Nesse caso você pode implementar enums no seu sistema, pode ser um conceito novo pra você, caso não esteja familiarizado com a linguagem, mas não custa nada incluí-lo na lista de boas práticas e começar a praticar a partir de agora, aos poucos, pra ir pegando a manha.
Pra ir pegando os conceitos, como você faz comparações de letras, poderia criar um enum que mantenha todos os possíveis caracteres, ex:
public enum LetrasValidas {
a('a'),
s('s'),
f('f'),
espaco(' ');
private final char letra;
private LetrasValidas(char letra) {
this.letra = letra;
}
public char getLetra() {
return letra;
}
public static boolean exists(char novaLetra) {
for (LetrasValidasletra : LetrasValidas.values()) {
if (letra.letra == novaLetra) {
return true;
}
}
return false;
}
}
E nas partes que precisar testar basta apenas um único if:
if (LetrasValidas.exists(Sequencia1)) {
Seta.setVisible(true);
Seta.setLocation(330,30);
}
Perceba que na primeira linha foi declarado um enum e não class, mas aprecie com moderação pra não se confundir muito com o conceito.
Outra vantagem de se usar enum é que modificando/incluindo novas letras (por exemplo a letra A maiúscula passa a ser utilizada), você precisa apenas modificá-la/incluí-la no enum:
a('a'),
A('A'),
b('b'),
B('B');
// ... e assim por diante
Como o java é case sensitive ele saberá diferenciar o ‘a’ de ‘A’ o ‘b’ de ‘B’ e por ai vai.