Fun With Java - Draw A Diamond
Saya baru-baru ini menemui permintaan menarik dari pelajar Jawa di salah satu forum yang saya baca. Kelasnya telah diminta untuk menggunakan gelung untuk menarik berlian daripada asterisk (*). Dia mempunyai penyelesaian yang betul dan berfungsi, tetapi telah ditandai kerana ia terlalu rumit dan memaparkan beberapa gelung. Murid meminta cadangan mengenai cara yang lebih mudah untuk mencapai hasil yang sama. Saya fikir ini adalah masalah yang menarik dan memutuskan untuk mencuba tangan saya. Program saya adalah di bawah (atau anda boleh memuat turun salinan di sini.) Ini dengan jelas bukan kod pengeluaran â € "untuk satu perkara, sementara saya suka kesederhanaan operator, saya cuba untuk tidak menggunakannya dalam kod pengeluaran kerana banyak pengaturcara mendapati bahawa ia menjadikannya lebih sukar untuk dibaca dan difahami. Belum lagi, kod ini akan memecah jika max_width diubah kepada nombor yang lebih besar daripada 46. Tetapi ia adalah contoh kaedah yang agak padat dan logik untuk mencapai hasil yang dikehendaki. Bolehkah anda melakukan lebih baik? Laporkan semula dalam forum kami.

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

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

/ ** Mencipta contoh baru berlian * /
berlian awam () {
}

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

}

}

Permintaan asal:
Pinimo. "Bantu saya dengan java (sic)." Posting dalam talian. Minggu 13 Mei 2007. Perbincangan Java (Forum). 4 Jun 2007.

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