Szórakozás a Java használatával - Rajzolj egy gyémántot
Nemrég találtam érdekes kérést egy Java hallgatótól az egyik fórumon. Osztályát arra kérték, hogy használjon egy hurkot, hogy húzzon ki egy gyémánt csillagból (*). Volt egy helyes és működőképes megoldása, de le lett jelölve, mert az túl bonyolult és több hurkot tartalmazott. A hallgató javaslatokat kért ugyanazon eredmény elérésének könnyebb módjaira. Úgy gondoltam, hogy ez egy érdekes probléma, és úgy döntöttem, hogy kipróbálom a kezem. Az alábbiakban található a programom (vagy letölthet egy másolatot.) Ez nyilvánvalóan nem egy gyártási kód - egyrészről, miközben imádom a?: Operátor egyszerűségét, megpróbálom nem használni a termelési kódban, mert sokan A programozók úgy találják, hogy nehezebbé teszi az olvasást és a megértést. Nem is beszélve, hogy ez a kód törni fog MAX_WIDTH 46-nál nagyobb számra változik. Ez azonban egy példája egy meglehetősen kompakt és logikus módszernek a kívánt eredmény elérésére. Meg tudsz csinálni jobban? Jelentés vissza a fórumon.

/*
 * diamonds.java
 *
 * Készült 2007. június 4-én, 23:39
 */

/**
 *
 * @author Julie Baumler
 */
nyilvános osztályú gyémántok {

/ ** Új gyémánt példányt hoz létre * /
nyilvános gyémántok () {
}

/**
* @param lekérdezi a parancssori argumentumokat
*/
nyilvános statikus void main (karakterlánc [] args) {
int max_width = 9; // karakterek száma széles, hogy gyémánt legyen
int szélesség = max_szélesség% 2 == 0? max_width / 2: max_width / 2 +1;
Karakterláncok = "********************************************** „
Karakterláncok = "";
mert (int i = 1; i <(szélesség * 2); i ++) {
System.out.print (space.substring (0, (i System.out.println (stars.substring (0,2 * (i <= szélesség? I: szélesség (i% szélesség)) - 1));
}

}

}

Az eredeti kérés:
Pinimo. "Segíts nekem a java (sic) -nél." Online feladás. 2007. május 13-i hét. Java-beszélgetés (fórum). 2007. június 4.