Zabava z Java - narišite diamant
Pred kratkim sem na enem od forumov, ki sem jih prebral, našel zanimivo prošnjo študenta Java. Njegov razred je bil zaprošen, da z zanko nariše diamant iz zvezdic (*). Imel je pravilno in delujočo rešitev, vendar je bil označen, ker je bil preveč zapleten in je imel več zank. Študent je prosil za predloge o lažjih načinih doseganja enakega rezultata. Mislil sem, da je to zanimiva težava, in se odločil, da se preizkusim v tem. Spodaj je moj program (ali kopijo lahko prenesete tukaj.) To očitno ni proizvodna koda - za eno stvar, medtem ko imam rada enostavnost operaterja?:, Ne poskušam ga uporabiti v proizvodni kodi, ker jih je veliko programerji ugotovijo, da otežuje branje in razumevanje. Da ne omenjam, se bo ta koda zlomila, če max_width se spremeni v številko večjo od 46. Je pa primer dokaj kompaktne in logične metode za dosego želenega rezultata. Lahko naredite bolje? Poročajte nazaj na našem forumu.

/*
 * diamanti.java
 *
 * Ustvarjeno 4. junija 2007, 23:39
 */

/**
 *
 * @author Julie Baumler
 */
javni razred diamanti {

/ ** Ustvari nov primerek diamantov * /
javni diamanti () {
}

/**
* @param argumentira argumente ukazne vrstice
*/
javni statični void main (String [] args) {
int max_width = 9; // # odlika, širok za izdelavo diamanta
int width = max_width% 2 == 0? max_width / 2: max_width / 2 +1;
String stars = "************************************************** ";
Niz presledkov = "";
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));
}

}

}

Izvirna zahteva:
Pinimo. "Pomagaj mi z javo (sic)." Spletna objava. Teden 13. maja 2007. Razprava o Javi (forum). 4. junij 2007