A PHP Error was encountered

Severity: Notice

Message: Only variable references should be returned by reference

Filename: core/Common.php

Line Number: 257

Java สอนเขียนโปรแกรม วาดรูปปิรามิด | Share

Java สอนเขียนโปรแกรม วาดรูปปิรามิด

Java สอนเขียนโปรแกรม วาดรูปปิรามิด

แนะนำโจทย์ วิเคราะห์ และแสดงวิธีทำการเขียนโปรแกรมวาดปิรามิดโดยรับข้อมูลจำนวนชั้นของปิรามิดผ่านทางคีบอร์ด

May 06, 2015

แก้ไขล่าสุด มีผู้อ่าน 46,967  |  JAVA PROGRAMMING EXAM

โจทย์วาดรูปปิรามิด ท้าทายความสามารถการคิด algorithm ในการวาดช่องว่างและ * พอสมควร ใครที่เพิ่งเคยทำครั้งแรก มักจะมองไม่ออกว่าจะต้องวาดแต่ละอย่างออกมาเป็นสูตรยังไง ลองฝึกทำก่อนดูเฉลยกันดูนะครับ

 

โจทย์

การเขียนโปรแกรมวาดสี่เหลี่ยมปิรามิดโดยรับข้อมูลจำนวนชั้นของปิรามิดจากผู้ใช้ผ่านทางคีบอร์ดให้แสดงผลให้ได้ดังรูป

 

วิเคราะห์


โจทย์ข้อนี้สิ่งที่เราต้องรู้คือการรับข้อมูลจากผู้ใช้ผ่านคีบอร์ด สังเกตุจะพบว่าต้องแสดง ช่องว่าง และ * ตามลำดับในจำนวนที่ต่างกัน โดยจะลดลงทีละหนึ่ง ส่วน * จะเพิ่มขึ้นทีละสอง ลองนำความคิดที่ได้มาปรับเปลี่ยนเป็นโค้ดจะได้ตามด้านล่าง

 

Source Code

package com.olanlab.share.exam;

import java.util.Scanner;

public class Piramid {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in); // สร้างตัวแปรสำหรับรับค่าจากคีบอร์ด
		int count = scan.nextInt(); // รอรับข้อมูลมาเก็บในตัวแปร count

		for (int i = 0; i < count; i++) { // จำนวนชั้นของปิรามิด
			for (int j = 0; j < (count - i - 1); j++) { // วาดช่องว่างลดลงทีละหนึ่ง 
				System.out.print(" ");
			}
			for (int k = 0; k < ((2 * i) + 1); k++) { // วาด * เพิ่มขึ้นทีละสอง
				System.out.print("*");
			}
			System.out.println();
		}
		System.out.println();
	}
}

Output

ป้อนข้อมูลด้วย 2

2
 *
***

ป้อนข้อมูลด้วย 3

3
  *
 ***
*****

ป้อนข้อมูลด้วย 5

5
    *
   ***
  *****
 *******
*********

แบ่งปัน

ชอบ +1

บันทึก

ฝากคำถาม คำแนะนำ ได้ที่

Facebook : Share.OlanLab.Com
LINE ID : @olanlab
อีเมล์ : olan@olanlab.com
Software Engineer, Inventor, Writer, Trainer
Share คลังความรู้ด้านเทคโนโลยี สารสนเทศ นวัตกรรมคอมพิวเตอร์ สอนเขียนโปรแกรม Php Java Html CSS Javascript C C++ Objective-C และอื่นๆ บนระบบปฏิบัติการ Window Linux Unix CentOS IOS Android
โดยผู้เขียนที่มีความเชี่ยวชาญเฉพาะ ให้บริการพื้นที่สำหรับนักเขียนที่ต้องการแบ่งปันความรู้ พร้อมให้คำปรึกษาแก่ผู้ที่สนใจ โดยไม่เสียค่าใช้จ่าย