Distracție cu Java - Desenează un diamant
Am găsit recent o solicitare interesantă a unui student Java pe unul dintre forumurile pe care le-am citit. Clasa sa a fost solicitată să folosească o buclă for pentru a trage un diamant din asteriscuri (*). El avea o soluție corectă și funcțională, dar fusese notat deoarece era prea complicat și avea mai multe bucle. Studentul a cerut sugestii cu privire la modalități mai ușoare de a obține același rezultat. Am crezut că aceasta este o problemă interesantă și am decis să-mi încerc mâna la ea. Programul meu este mai jos (sau puteți descărca o copie aici.) În mod clar acesta nu este codul de producție - pentru un lucru, în timp ce iubesc simplitatea operatorului ?:, încerc să nu-l folosesc în cod de producție, deoarece mulți programatorii constată că îngreunează citirea și înțelegerea. Nu mai vorbim, acest cod se va sparge dacă lățimea maximă este schimbat la un număr mai mare de 46. Dar este un exemplu de metodă destul de compactă și logică pentru a obține rezultatul dorit. Poți să te descurci mai bine? Raportați-vă înapoi pe forumul nostru.

/*
 * diamante.java
 *
 * Creat pe 4 iunie 2007, 23:39
 */

/**
 *
 * @autor Julie Baumler
 */
public class diamonds {

/ ** Creează o nouă instanță de diamante * /
public diamonds () {
}

/**
* @param args argumentele liniei de comandă
*/
public static void main (String [] args) {
int max_width = 9; // # of chars wide to make diamant
lățime int = max_width% 2 == 0? lățime maximă / 2: lățime maximă / 2 +1;
Stele cu coarde = "********************************************** „;
Spații cu șiruri = "";
for (int i = 1; i <(lățime * 2); i ++) {
System.out.print (space.substring (0, (i System.out.println (stele.substring (0,2 * (i <= lățime? I: lățime- (i% lățime)) - 1));
}

}

}

Cererea inițială:
Pinimo. „Ajută-mă cu java (sic)”. Postare online. Săptămâna 13 mai 2007. Discuție Java (Forum). 4 iunie 2007.

Instrucțiuni Video,: ✔ Minecraft: How to make a Working Bathroom (Mai 2024).