Fun With Java - วาดเพชร
ฉันเพิ่งพบคำขอที่น่าสนใจจากนักเรียน Java ในฟอรัมที่ฉันอ่าน ชั้นของเขาถูกขอให้ใช้ห่วงสำหรับดึงเพชรออกจากดอกจัน (*) เขามีทางออกที่ถูกต้องและใช้งานได้ แต่ถูกทำเครื่องหมายเพราะมันซับซ้อนเกินไปและให้ความสำคัญกับหลายลูป นักเรียนขอคำแนะนำเกี่ยวกับวิธีที่ง่ายขึ้นในการบรรลุผลลัพธ์เดียวกัน ฉันคิดว่านี่เป็นปัญหาที่น่าสนใจและตัดสินใจลองทำดู โปรแกรมของฉันอยู่ด้านล่าง (หรือคุณสามารถดาวน์โหลดสำเนาได้ที่นี่) นี่ไม่ใช่รหัสการผลิตอย่างชัดเจน - สำหรับสิ่งหนึ่งในขณะที่ฉันชอบความเรียบง่ายของตัวดำเนินการ: ผู้ใช้ฉันพยายามที่จะไม่ใช้มันในรหัสการผลิต โปรแกรมเมอร์พบว่ามันยากที่จะอ่านและทำความเข้าใจ ไม่ต้องพูดถึงรหัสนี้จะผิดถ้า MAX_WIDTH เปลี่ยนเป็นตัวเลขที่มากกว่า 46 แต่เป็นตัวอย่างของวิธีการกระชับและตรรกะที่เป็นธรรมเพื่อให้ได้ผลลัพธ์ที่ต้องการ คุณทำได้ดีกว่านี้ไหม รายงานกลับมาในฟอรั่มของเรา

/*
 * diamonds.java
 *
 * สร้างเมื่อวันที่ 4 มิถุนายน 2550 เวลา 23:39 น
 */

/**
 *
 * @author Julie Baumler
 */
เพชรระดับสาธารณะ

/ ** สร้างตัวอย่างใหม่ของเพชร * /
เพชรสาธารณะ () {
}

/**
* @param args อาร์กิวเมนต์บรรทัดคำสั่ง
*/
โมฆะคงที่สาธารณะหลัก (String [] args) {
int max_width = 9; // # ของตัวอักษรกว้างเพื่อสร้างเพชร
int width = max_width% 2 == 0? max_width / 2: max_width / 2 +1;
String Stars = "************************************************ ";
สตริงช่องว่าง = "";
สำหรับ (int i = 1; i <(กว้าง * 2); i ++) {
System.out.print (spaces.substring (0, (i System.out.println (stars.substring (0,2 * (i <= ความกว้าง? i: ความกว้าง - (ความกว้าง i%)) - 1));
}

}

}

คำขอเดิม:
Pinimo "ช่วยฉันด้วย java (sic)" โพสต์ออนไลน์ สัปดาห์ที่ 13 พฤษภาคม 2550 หัวข้อสนทนา Java (เวทีสนทนา) 4 มิถุนายน 2550