Zabawa z Javą - narysuj diament
Niedawno znalazłem ciekawą prośbę od studenta Javy na jednym z forów, które czytałem. Jego klasa została poproszona o użycie pętli for, aby wyciągnąć diament z gwiazdek (*). Miał poprawne i działające rozwiązanie, ale został oznaczony, ponieważ był zbyt skomplikowany i zawierał kilka pętli. Uczeń poprosił o sugestie dotyczące łatwiejszych sposobów osiągnięcia tego samego rezultatu. Pomyślałem, że to interesujący problem i postanowiłem spróbować. Mój program jest poniżej (lub możesz pobrać kopię tutaj.) To wyraźnie nie jest kod produkcyjny - po pierwsze, podczas gdy uwielbiam prostotę operatora?: Staram się nie używać go w kodzie produkcyjnym, ponieważ wiele programiści uważają, że utrudnia to czytanie i rozumienie. Nie wspominając, ten kod zepsuje się, jeśli max_width zmieniono na liczbę większą niż 46. Ale jest to przykład dość zwartej i logicznej metody osiągnięcia pożądanego rezultatu. Czy potrafisz lepiej? Zgłoś się ponownie na naszym forum.

/*
 * diamonds.java
 *
 * Utworzono 4 czerwca 2007 r., 23:39
 */

/**
 *
 * @ autorka Julie Baumler
 */
diamenty klasy publicznej {

/ ** Tworzy nowe wystąpienie diamentów * /
publiczne diamenty () {
}

/**
* @param argumentuje argumenty wiersza poleceń
*/
public static void main (String [] args) {
int max_width = 9; // Liczba znaków szeroka na diament
int width = max_width% 2 == 0? max_width / 2: max_width / 2 +1;
Gwiazdy ciąg = "********************************************** „;
Spacje w postaci ciągów = "";
dla (int i = 1; i <(szerokość * 2); i ++) {
System.out.print (spaces.substring (0, (i System.out.println (stars.substring (0,2 * (i <= szerokość? I: szerokość- (i% szerokość)) - 1));
}

}

}

Pierwotna prośba:
Pinimo. „Pomóż mi z java (sic).” Publikowanie online. Tydzień 13 maja 2007 r. Dyskusja Java (forum). 4 czerwca 2007 r.

Instrukcje Wideo: CHOWANEGO TROLL DIAMENT - NIE WIEDZIAŁA, ŻE JĄ WIDZIMY! - ZABAWA W CHOWANEGO W MINECRAFT EKIPA (Kwiecień 2024).