入力した文字列を反転させるミニアプリを作りました。
ライブラリを使えばこんな手間なんてかからないのですが、
なんとなく生のjavaを触って反転させたいと思ったのがきっかけです。
public class MainActivity extends AppCompatActivity {
EditText ed;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = findViewById(R.id.altBtn);
ed = findViewById(R.id.mountingText);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String beforeAlterText;
beforeAlterText = ed.getText().toString();
char[] chars = beforeAlterText.toCharArray();
int i = beforeAlterText.length();
if(i % 2 == 0) {
int dev = i / 2;
for(int j = 0; j < dev; j++){
char temp = chars[j];
chars[j] = chars[i – j – 1];
chars[i – j – 1] = temp;
}
System.out.println(chars);
}else if(i % 2 == 1){
int notdev = i / 2 + 1;
for(int j = 0; j < notdev; j++){
char temp = chars[j];
chars[j] = chars[i – j – 1];
chars[i – j – 1] = temp;
}
System.out.println(chars);
}
}
});
}
}
最初の分岐で奇数か偶数か判別した後に入力した文字を2で割って中間地点を決めます。
この中間地点まで文字を反転させるといった感じになっています。
バブルソートは値の大小を判断しますがここではただの文字列
なのでそのまま文字を置き換えています。
文字は出てこないですがSystem.outで反転後の文字列が
確認することができます。
以上ですが見ての通り中身が何もないです。
ttsとか使って応用できればもっと面白そうなアプリが作れるかもしれません。
とりあえずソートの練習をしたいとか見てみたいとか思ったら試してみてください。
P.S.余談ですが、自分はこのコードの中で文字列を
退避するところをゴミ箱って呼んでます。