Ich erstelle eine Anwendung, so dass, wenn Benutzer ein Wort eingibt und die Taste drückt, zeigt die TextView
ein neues Wort basierend auf einigen Regeln. Wenn das Wort den Buchstaben "a" enthält, ändern Sie es mit ".-" (Morsecode).Ersetzen von Buchstaben im EditText basierend auf einigen Regeln
Beispiel: Eingangswort: "ABBA" output:. "- .... - ..." (a = ".-" b = "-...")
Ich habe erstellt eine Demo-App mit nur 2 Regeln für "a" und "b". Es funktioniert, wenn ich nur einen Buchstaben eingegeben habe, aber wenn ich mehr wie "ab" eingabe, verhält es sich nicht richtig.
Java-Datei:
public class MainActivity extends AppCompatActivity {
EditText vpis;
TextView rezultat;
Button pretvori;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
vpis = (EditText) findViewById(R.id.tekst);
rezultat = (TextView) findViewById(R.id.rezultat);
pretvori = (Button) findViewById(R.id.gumb);
pretvori.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String morse = vpis.getText().toString();
for (int i=0; i<morse.length(); i++){
if(morse.charAt(i) == 'a'){
rezultat.setText(".-");
}else if (morse.charAt(i) == 'b'){
rezultat.setText("-...");
}
}
}
});
}
}
Vielen Dank im Voraus.
können Sie Regex für diese oder Zeichenfolge ersetzen Methode viel einfacher und Sie können es ohne for-Schleife tun –