Suatu kali saya pernah membaca bahwa kalimat "the quick brown fox jump over the lazy dog" menggunakan seluruh huruf yang ada dalam abjad, oleh karena penasaran, saya terpikir untuk membuat sebuah program kecil yang memeriksa apakah kalimat tersebut benar-benar menggunakan seluruh huruf dalam abjad.
Skenario program tersebut saya buat seperti ini.
- Deklarasi string tsb.
- Hilangkan spasi yang ada diantara kata-kata pada kalimat tersebut.
- Hilangkan huruf-huruf yang mungkin saja double pada kalimat tersebut.
- Rubah String tersebut menjadi Character Array
- Kemudian looping Array tersebut untuk di Printout ke Console.
Mungkin saya akan membuat sebuah fungsi terlebih dahulu yang berfungsi menghilangkan karakter yang sama jika sebuah string diberikan, oke begini kira-kira kode dari fungsi tersebut:
public static String removeDuplicates(String s) {
StringBuilder noDupes = new StringBuilder();
for (int i = 0; i < s.length(); i++) {
String si = s.substring(i, i + 1);
if (noDupes.indexOf(si) == -1) {
noDupes.append(si);
}
}
return noDupes.toString();
}
Contoh menggunakan Object StringBuilder sebagai wadah pemrosesan penghilangan karakter yang sama dalam sebuah string, dan kemudian fungsi tersebut mengembalikan String yang dibentuk dari StringBuilder.
Kemudian fungsi ini saya pakai dalam program kecil saya. Jika secara lengkap maka full-code dari program ini adalah seperti berikut ini:
Demikianlah keisengan saya, selamat mencoba dan silahkan dikembangkan sesuai dengan kreasi dan kebutuhan anda
Kemudian fungsi ini saya pakai dalam program kecil saya. Jika secara lengkap maka full-code dari program ini adalah seperti berikut ini:
import java.util.Arrays;
/**
* Created by IntelliJ IDEA.
* User: mojo
* Date: 7/9/11
* Time: 8:55 AM
* <p/>
*/
public class ArrayTest {
public static void main(String[] args) {
//ini deklarasi stringnya
String sStr = "the quick brown fox jumps over the lazy dog";
//kita hilangkan spasinya
sStr = sStr.replace(" ", "");
//kemudian kita hilangkan huruf yang sama pake fungsi removeDuplicates
sStr = removeDuplicates(sStr);
//kemudian kita rubah string tsb jadi Character Array
char[] a = sStr.toCharArray();
//kemudian kita sort character arraynya
Arrays.sort(a);
//mari kita print out..apakah benar menggunakan semua huruf dalam abjad...???
for (int i = 0; i < a.length; i++) {
char c = a[i];
System.out.print(c);
}
//ternyata benar
}
public static String removeDuplicates(String s) {
StringBuilder noDupes = new StringBuilder();
for (int i = 0; i < s.length(); i++) {
String si = s.substring(i, i + 1);
if (noDupes.indexOf(si) == -1) {
noDupes.append(si);
}
}
return noDupes.toString();
}
}
Demikianlah keisengan saya, selamat mencoba dan silahkan dikembangkan sesuai dengan kreasi dan kebutuhan anda
Semoga bermanfaat.
Josescalia
No comments:
Post a Comment