Izklaide ar Java - uzzīmējiet dimantu
Nesen vienā no lasītajiem forumiem atradu interesantu Java studenta pieprasījumu. Viņa klasei tika lūgts izmantot cilpu, lai no zvaigznītes izvilktu dimantu (*). Viņam bija pareizs un funkcionējošs risinājums, taču viņš tika atzīmēts, jo tas bija pārāk sarežģīts un tajā bija vairākas cilpas. Studente lūdza ieteikumus, kā vieglāk sasniegt to pašu rezultātu. Es domāju, ka tā bija interesanta problēma, un nolēmu izmēģināt savus spēkus. Mana programma atrodas zemāk (vai arī šeit varat lejupielādēt kopiju.) Tas, protams, nav ražošanas kods - viena lieta, lai gan es mīlu?: Operatora vienkāršību, es cenšos to neizmantot ražošanas kodā, jo daudzi programmētāji uzskata, ka tas apgrūtina lasīšanu un izpratni. Nemaz nerunājot, šis kods tiks sabojāts, ja maksimālais platums tiek mainīts uz skaitli, kas lielāks par 46. Bet tas ir diezgan kompaktas un loģiskas metodes piemērs, lai sasniegtu vēlamo rezultātu. Vai jūs varat darīt labāk? Ziņot par to mūsu forumā.

/*
 * dimanti.java
 *
 * Izveidots 2007. gada 4. jūnijā plkst. 11:39
 */

/**
 *
 * @autore Džūlija Baumere
 */
sabiedriskās klases dimanti {

/ ** Izveido jaunu dimantu gadījumu * /
publiskie dimanti () {
}

/**
* @param izsaka komandrindas argumentus
*/
public static void main (stīgas [] args) {
int maksimālais platums = 9; // # simbolu platums, lai izveidotu dimantu
int platums = maksimālais platums% 2 == 0? maksimālais platums / 2: maksimālais platums / 2 +1;
Stīgu zvaigznes = "*********************************************** ";
Stīgu atstarpes = "";
priekš (int i = 1; i <(platums * 2); i ++) {
System.out.print (atstarpes.svītrojums (0, (i System.out.println (stars.substring (0,2 * (i <= platums? I: platums- (i% platums)) - 1));
}

}

}

Sākotnējais pieprasījums:
Pinimo. "Palīdziet man ar java (sic)." Nosūtīšana tiešsaistē. Nedēļa, 2007. gada 13. maijs. Java diskusija (forums). 2007. gada 4. jūnijs.