Fun With Java - Draw A Diamond
Baru-baru ini saya menemukan permintaan yang menarik dari seorang siswa Java di salah satu forum yang saya baca. Kelasnya telah diminta untuk menggunakan loop for untuk menggambar berlian dari tanda bintang (*). Dia memiliki solusi yang benar dan berfungsi, tetapi telah ditandai karena terlalu rumit dan menampilkan beberapa loop. Siswa meminta saran tentang cara yang lebih mudah untuk mencapai hasil yang sama. Saya pikir ini adalah masalah yang menarik dan memutuskan untuk mencoba. Program saya ada di bawah ini (atau Anda dapat mengunduh salinannya di sini.) Ini jelas bukan kode produksi â € “untuk satu hal, sementara saya suka kesederhanaan operator :? Saya mencoba untuk tidak menggunakannya dalam kode produksi karena banyak programmer menemukan bahwa itu membuatnya lebih sulit untuk dibaca dan dimengerti. Belum lagi, kode ini akan rusak jika max_width diubah menjadi angka yang lebih besar dari 46. Tetapi ini adalah contoh metode yang cukup ringkas dan logis untuk mencapai hasil yang diinginkan. Bisakah kamu berbuat lebih baik? Laporkan kembali di forum kami.

/*
 * diamonds.java
 *
 * Dibuat pada 4 Juni 2007, 11:39 PM
 */

/**
 *
 * @author Julie Baumler
 */
berlian kelas publik {

/ ** Membuat instance baru berlian * /
berlian publik () {
}

/**
* @param mendebat argumen baris perintah
*/
public static public void (String [] args) {
int max_width = 9; // # chars lebar untuk membuat berlian
int width = max_width% 2 == 0? max_width / 2: max_width / 2 +1;
String bintang = "******************************************** ";
String string = "";
untuk (int i = 1; i <(lebar * 2); i ++) {
System.out.print (spasi.substring (0, (i System.out.println (stars.substring (0,2 * (i <= width? I: width- (i% width)) - 1));
}

}

}

Permintaan asli:
Pinimo. "Bantu saya dengan java (sic)." Posting online. Minggu 13 Mei 2007. Diskusi Jawa (Forum). 4 Juni 2007.

Petunjuk Video: C Practical and Assignment Programs-Pattern Printing 10 (Mungkin 2024).