我正在創建一個應用程序,以便當用戶輸入一個單詞並按下按鈕時,TextView
會根據一些規則顯示一個新單詞。就好像該單詞中有字母「a」,然後用「.-」(莫爾斯電碼)更改。根據一些規則替換EditText中的字母
實施例:輸入詞: 「ABBA」 輸出: 「 - 。.... - ...」(A = 「.-」 B = 「-...」)
我有爲「a」和「b」創建了一個僅有2條規則的演示應用程序。如果我只輸入一個字母,但當我輸入更像「ab」時,它的行爲不正確。
的Java文件:
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("-...");
}
}
}
});
}
}
在此先感謝。
你可以使用正則表達式或字符串替換方法更容易,你可以做到沒有for循環 –