כיף עם ג'אווה - לצייר יהלום
לאחרונה מצאתי בקשה מעניינת מתלמיד ג'אווה באחד מהפורומים שקראתי. הכיתה שלו התבקשה להשתמש בלולאה למשיכת יהלום מכוכביות (*). היה לו פיתרון נכון ומתפקד, אך סומן כיוון שהוא מסובך יתר על המידה והציג כמה לולאות. התלמיד ביקש הצעות לדרכים קלות יותר להשיג את אותה התוצאה. חשבתי שזו בעיה מעניינת והחלטתי לנסות את ידי. התוכנית שלי נמצאת למטה (או שתוכל להוריד עותק כאן.) ברור שזה לא קוד ייצור - דבר אחד, בעוד שאני אוהב את הפשטות של המפעיל ?: אני מנסה לא להשתמש בה בקוד ייצור מכיוון שרבים מתכנתים מגלים שזה מקשה על הקריאה וההבנה. שלא לדבר, קוד זה ישבר אם רוחב מקסימלי שונה למספר שגדול מ 46. אבל זו דוגמה לשיטה די קומפקטית והגיונית להשגת התוצאה הרצויה. האם אתה יכול לעשות יותר טוב? דווח בפורום שלנו.

/*
 * diamonds.java
 *
 * נוצר ב- 4 ביוני 2007, 23:39
 */

/**
 *
 * @ הסופרת ג'ולי באמלר
 */
יהלומי מעמד ציבורי {

/ ** יוצר מופע חדש של יהלומים * /
יהלומים ציבוריים () {
}

/**
* @param טוען את טיעוני שורת הפקודה
*/
main static void main (מחרוזת [] args) {
רוחב מקסימלי int = 9; // # תווים רחבים לייצור יהלומים
רוחב int = מקסימום רוחב% 2 == 0? רוחב מקסימלי / 2: מקסימום רוחב / 2 +1;
כוכבי מיתר = "*********************************************** ";
רווחי מיתר = "";
עבור (int i = 1; i <(רוחב * 2); i ++) {
System.out.print (רווחים. חוט מחרוזת (0, (i <רוחב? רוחב-i: i% רוחב)));
System.out.println (stars.substring (0,2 * (i <= רוחב? I: רוחב- (i% רוחב)) - 1));
}

}

}

הבקשה המקורית:
פינימו. "עזור לי עם ג'אווה (sic)." פרסום מקוון. שבוע של 13 במאי 2007. דיון Java (פורום). 4 ביוני 2007.