Kul med Java - Draw A Diamond
Jag hittade nyligen en intressant begäran från en Java-student på ett av de forum jag läste. Hans klass hade blivit ombedd att använda en for-loop för att dra en diamant ur asterisker (*). Han hade en korrekt och fungerande lösning, men hade markerats eftersom den var alltför komplicerad och innehöll flera slingor. Studenten bad om förslag på enklare sätt att uppnå samma resultat. Jag tyckte att detta var ett intressant problem och bestämde mig för att prova på det. Mitt program är nedan (eller så kan du ladda ner en kopia här.) Det här är helt klart inte produktionskod - för en sak, medan jag älskar enkelhet?: Operatören, jag försöker att inte använda den i produktionskod eftersom många programmerare tycker att det gör det svårare att läsa och förstå. För att inte tala, kommer denna kod att bryta om maximal bredd ändras till ett nummer större än 46. Men det är ett exempel på en ganska kompakt och logisk metod för att uppnå önskat resultat. Kan du göra bättre? Rapportera tillbaka i vårt forum.

/*
 * diamanter.java
 *
 * Skapad 4 juni 2007, 23:39
 */

/**
 *
 * @ författare Julie Baumler
 */
offentliga klass diamanter {

/ ** Skapar en ny instans av diamanter * /
allmänna diamanter () {
}

/**
* @param argumenterar för kommandoradsargumenten
*/
public static void main (String [] args) {
int max_bredd = 9; // # röda brett för att göra diamant
int bredd = max_bredd% 2 == 0? max_bredd / 2: max_bredd / 2 +1;
String stars = "*********************************************** ";
Strängutrymmen = "";
för (int i = 1; i <(bredd * 2); i ++) {
System.out.print (mellanslag.substring (0, (i System.out.println (stjärnor.substring (0,2 * (i <= bredd? I: bredd- (i% bredd)) - 1));
}

}

}

Den ursprungliga begäran:
Pinimo. "Hjälp mig med java (sic)." Online-upplägg. Veckan den 13 maj 2007. Java Discussion (Forum). 4 juni 2007.

Video Instruktioner: How to use the Smithing Table? - Infinite Diamond, Minecraft Village and Pillage (Bedrock Edition) (Maj 2024).