TỔNG QUAN
CẤU TRÚC ĐIỀU KHIỂN
VÒNG LẶP
CHUỖI VÀ MẢNG
COLLECTIONS
THƯ VIỆN QUAN TRỌNG
HƯỚNG ĐỐI TƯỢNG
XỬ LÝ LUỒNG
EXCEPTION
LÀM VIỆC VỚI FILE
THAM KHẢO
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Java - Xây dựng chương trình vẽ hình đơn giản (câu hỏi 1)

Viết chương trình thực hiện các yêu cầu sau:

  • Viết lớp Shape, lớp này chỉ có một hàm là draw() không có tham số và không trả về giá trị, chỉ xuất ra dòng chữ "Drawing a Shape".
  • Viết lớp Rectangle kế thừa từ lớp Shape. Thêm vào lớp Rectangle hai thuộc tính là chiều dài và chiều rộng (số nguyên). Viết các hàm khởi tạo và các hàm getter/setter cho lớp này, chú ý giá trị gán cho 2 thuộc tính nằm trong [1,15]. Trong lớp Rectangle, viết lại hàm draw() của lớp Shape để vẽ ra hình chữ nhật bởi các dấu *, với số lượng dấu * mỗi cạnh tùy thuộc vào các thuộc tính chiều dài và chiều rộng. Ví dụ thuộc tính chiều dài và chiều rộng lần lượt là 7 và 3 thì hàm draw() vẽ được hình:

hinh chu nhat PNG

  • Viết lớp RightTriangle kế thừa tè lớp Shape. Thêm vào lớp RightTriangle một thuộc tính là cạnh vuông (số nguyên). Viết các hàm khởi tạo và các hàm getter/setter cho lớp này, chú ý giá trị gán cho thuộc tính nằm trong [1,20]. Trong lớp RightTriangle viết lại hàm draw() của lớp Shape để vẽ ra hình tam giác vuông bởi các dấu *, với số lượng dấu * mỗi cạnh tùy thuộc vào các thuộc tính cạnh vuông. Ví dụ thuộc tính cạnh vuông là 4 thì hàm draw() vẽ được hình:

hinh tam giac vuong PNG

  • Viết lớp ArtistDemo, lớp này chứa hàm main(): khai báo biến rectangle có kiểu Rectangle và biến rightTriangle có kiểu RightTriangle. Viết chương trình nhập vào chiều dài, chiều rộng của hình chữ nhật và cạnh vuông cho hình tam giác vuông, sau đó gọi hàm draw() để vẽ hình tương ứng.

test php

Bài giải

-------------------- ######## --------------------

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.
Shape.java
package baitapvehinh;

public class Shape {
	public void draw() {
		System.out.println("Drawing a Shape");
	}
}

Rectangle.java
package baitapvehinh;

public class Rectangle extends Shape {
	private int chieuDai, chieuRong;

	public Rectangle() {
		super();
	}

	public Rectangle(int chieuDai, int chieuRong) {
		super();
		if ((chieuDai < 1) || (chieuDai > 15)) {
			System.out.println("Giá trị của chiều dài phải nằm trong khoảng [1...15]");
			return;
		}
		
		if (chieuDai < chieuRong) {
			System.out.println("Chiều dài phải lớn hơn chiều rộng");
			return;
		}
		this.chieuDai = chieuDai;
		this.chieuRong = chieuRong;
	}

	public int getChieuDai() {
		return chieuDai;
	}

	public void setChieuDai(int chieuDai) {
		this.chieuDai = chieuDai;
	}

	public int getChieuRong() {
		return chieuRong;
	}

	public void setChieuRong(int chieuRong) {
		if ((chieuRong) < 1 || (chieuRong > 15)) {
			System.out.println("Giá trị của chiều rộng phải nằm trong khoảng [1...15]");
		}
		this.chieuRong = chieuRong;
	}
	
	public void draw() {
		// vẽ chiều rộng
		for (int i = 1; i <= chieuRong; i++) {
			// vẽ chiều dài
			for (int j = 1; j <= chieuDai; j++) {
				if ((j == 1) || (j == chieuDai) || (i == 1) || (i == chieuRong)) {
					System.out.print("*");
				} else {
					System.out.print(" ");
				}
			}
			System.out.println("\n");
		}
	}
}

Bài viết này được đăng tại [free tuts .net]

RightTriangle.java
package baitapvehinh;

public class RightTriangle extends Shape {
	private int canhVuong, n;

	public RightTriangle() {
		super();
	}

	public RightTriangle(int canhVuong) {
		super();
		if ((canhVuong < 1) || (canhVuong > 20)) {
			System.out.println("Giá trị của cạnh phải nằm trong khoảng [1...20]");
			return;
		}
		this.canhVuong = canhVuong;
	}

	public int getCanhVuong() {
		return canhVuong;
	}

	public void setCanhVuong(int canhVuong) {
		this.canhVuong = canhVuong;
	}
	
	public void draw() {
		n = canhVuong;
		for (int i = 1; i <= canhVuong; i++) {
			for (int j = 1; j <= i; j++) {
				System.out.print("*");
			}

			System.out.println();
		}
	}
}

ArtistDemo.java
package baitapvehinh;

import java.util.Scanner;

public class ArtistDemo {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("Nhập chiều dài hình chữ nhật: ");
		int chieuDai = scanner.nextInt();
		System.out.print("Nhập chiều rộng hình chữ nhật: ");
		int chieuRong = scanner.nextInt();
		Rectangle rectangle = new Rectangle(chieuDai,chieuRong);
		//Artist artist = new Artist();
		//artist.drawShape(shape);
		rectangle.draw();
		
		System.out.print("Nhập cạnh vuông: ");
		int canhVuong = scanner.nextInt();
		RightTriangle rightTriangle = new RightTriangle(canhVuong);
		rightTriangle.draw();
	}

}

Kết quả sau khi biên dịch chương trình:

ketqua bai tap ve hinh PNG

Câu hỏi thường gặp liên quan:

Cùng chuyên mục:

Hướng dẫn Upload file với Spring Boot và jQuery Ajax trong Java

Hướng dẫn Upload file với Spring Boot và jQuery Ajax trong Java

Hướng dẫn download file với Spring Boot trong Java

Hướng dẫn download file với Spring Boot trong Java

Hướng dẫn Upload file với Spring Boot trong Java

Hướng dẫn Upload file với Spring Boot trong Java

Hướng dẫn CRUD với Spring Boot, REST và AngularJS trong Java

Hướng dẫn CRUD với Spring Boot, REST và AngularJS trong Java

Cách sử dụng Spring  Scheduled trong Spring Boot

Cách sử dụng Spring Scheduled trong Spring Boot

Cách dùng Groovy trong Spring Boot Java

Cách dùng Groovy trong Spring Boot Java

Cách dùng Spring Boot và Mustache trong Java

Cách dùng Spring Boot và Mustache trong Java

Cách dùng Spring Boot và MongoDB trong Java

Cách dùng Spring Boot và MongoDB trong Java

Cách tạo Restful Client bằng RestTemplate trong Spring Boot

Cách tạo Restful Client bằng RestTemplate trong Spring Boot

Hướng dẫn sử dụng Interceptor trong Spring Boot

Hướng dẫn sử dụng Interceptor trong Spring Boot

Sử dụng Twitter Bootstrap trong Spring Boot

Sử dụng Twitter Bootstrap trong Spring Boot

Tạo trang web đa ngôn ngữ với Spring Boot trong Java

Tạo trang web đa ngôn ngữ với Spring Boot trong Java

Tạo ứng dụng Chat với Spring Boot và Websocket

Tạo ứng dụng Chat với Spring Boot và Websocket

Sử dụng JUnit để tạo unit test trong Spring Boot

Sử dụng JUnit để tạo unit test trong Spring Boot

Cách triển khai Spring Boot trên Tomcat Server

Cách triển khai Spring Boot trên Tomcat Server

Cách test RESTful API trong Spring Boot

Cách test RESTful API trong Spring Boot

Cách dùng Spring Security trong Spring Boot để xác thực và phân quyền

Cách dùng Spring Security trong Spring Boot để xác thực và phân quyền

Duyệt cây nhị phân bằng phương pháp inOder trong Java

Duyệt cây nhị phân bằng phương pháp inOder trong Java

Xóa node của cây nhị phân tìm kiếm trong Java

Xóa node của cây nhị phân tìm kiếm trong Java

Bảo mật Spring Boot RESTful Service sử dụng Basic Authentication trong Java

Bảo mật Spring Boot RESTful Service sử dụng Basic Authentication trong Java

Top