Zabava s Javom - nacrtajte dijamant
Nedavno sam na jednom od foruma koje sam pročitao pronašao zanimljiv zahtjev Java učenika. Od razreda se tražilo da pomoću petlje izvuče dijamante iz zvijezda (*). Imao je ispravno i ispravno rješenje, ali označen je jer je pretjerano komplicirano i sadrži nekoliko petlji. Učenik je tražio prijedloge o lakšim načinima postizanja istog rezultata. Mislio sam da je to zanimljiv problem i odlučio sam se oprobati u tome. Moj je program ispod (ili kopiju možete preuzeti ovdje.) To očito nije proizvodni kod - za jednu stvar, dok volim jednostavnost operatora ?:, pokušavam ga ne koristiti u proizvodnom kodu jer mnogi programeri otkrivaju da to otežava čitanje i razumijevanje. Da ne spominjemo, ovaj će se kôd pokvariti ako MAX_WIDTH mijenja se na broj veći od 46. Ali to je primjer prilično kompaktne i logične metode za postizanje željenog rezultata. Možete li bolje? Prijavi na našem forumu.

/*
 * dijamanti.java
 *
 * Napravljeno 4. lipnja 2007. u 23:39
 */

/**
 *
 * @author Julie Baumler
 */
dijamanti javne klase {

/ ** Stvara novu instancu dijamanata * /
javni dijamanti () {
}

/**
* @param argumentira argumente naredbenog retka
*/
javni statički void main (String [] args) {
int max_width = 9; // broj znakova širok za izradu dijamanta
int width = max_width% 2 == 0? max_width / 2: max_ širina / 2 +1;
String stars = "************************************************** „;
Razmakni nizovi = "";
za (int i = 1; i <(širina * 2); i ++) {
System.out.print (space.substring (0, (i <širina? Širina -i: i% širina)));
System.out.println (stars.substring (0,2 * (i <= širina? I: širina- (i% širina)) - 1));
}

}

}

Izvorni zahtjev:
Pinimo. "Pomozi mi s javom (sic)." Online objavljivanje. Tjedan 13. svibnja 2007. Java rasprava (forum). 4. lipnja 2007.

Upute Video: OVAKAV TRIK NIKADA U ŽIVOTU NISTE VIDJELI!!! (Svibanj 2024).