Khoảng cách của đầu ra trong Java

Các chương trình Java không có giao diện người dùng đồ họa sử dụng dòng lệnh của máy tính để tương tác với người dùng. Điều quan trọng là đầu ra dòng lệnh của chương trình phải được định dạng đúng và có khoảng cách để người dùng dễ hiểu. Bạn có thể dung lượng đầu ra của mình theo cách thủ công bằng các vòng lặp hoặc thông qua lớp Formatter của Java.

Phông chữ Monospaced

Phông chữ monospaced là phông chữ trong đó mỗi chữ cái chiếm cùng một lượng không gian với các chữ cái khác trong phông chữ. Ví dụ: trong phông chữ monospaced, ký tự "i" chiếm cùng một lượng không gian với ký tự "m". Chạy các chương trình Java trong môi trường có phông chữ liền mạch, chẳng hạn như Dòng lệnh Windows hoặc Macintosh Terminal, cho phép bạn sắp xếp và định dạng văn bản của mình thành các cột gọn gàng bằng cách đếm số ký tự trong mỗi hàng.

Khoảng cách thủ công

Cách đơn giản nhất để tạo khoảng trống phù hợp cho đầu ra của bạn trong Java là thêm khoảng cách thủ công. Ví dụ: để xuất ra ba số nguyên khác nhau, "i," "j" và "k", với khoảng cách giữa mỗi số nguyên, hãy sử dụng mã sau:

System.out.println (i + "" + j + "" + k);

Nếu giá trị của "i," "j" và "k" lần lượt là 25, 6 và 31, chương trình sẽ xuất ra "25 6 31." Hạn chế chính của phương pháp này là thiếu cân nhắc về số lượng ký tự trong mỗi số nguyên. Nếu bạn in ba hàng cột cách đều nhau, cột thứ hai sẽ không có cùng chiều rộng với hai hàng đầu tiên. Nếu hàng tiếp theo giữ các giá trị 6, 8 và 2, các cột sẽ hoàn toàn bị lệch.

Khoảng cách định dạng

Lớp Formatter của Java cho phép bạn định dạng dữ liệu trước khi nó được xuất ra. Với Trình định dạng, bạn có thể xác định chiều rộng tối đa của một giá trị và Trình định dạng sau đó sẽ tự động đệm giá trị bằng các khoảng trống để đảm bảo rằng nó có cùng chiều rộng. Nếu bạn xuất một số giá trị có cùng các tùy chọn định dạng, bạn có thể đảm bảo rằng chúng sẽ chiếm cùng một không gian trong dòng đầu ra. Việc xuất một đoạn văn bản được định dạng rất đơn giản - thay vì sử dụng "System.out.print ()", hãy sử dụng "System.out.format ()." Phương thức định dạng nhận hai đầu vào thay vì một đầu vào duy nhất mà phương thức in sử dụng. Đầu vào đầu tiên là một chuỗi đại diện cho định dạng sẽ được áp dụng cho đầu ra và đầu vào thứ hai là chính đầu ra. Để in ba giá trị số nguyên với tối đa ba ký tự trong mỗi giá trị và một khoảng trắng ở giữa, hãy sử dụng mã sau:

System.out.format ("% 4d", i); System.out.format ("% 3d", j); System.out.format ("% 3d", k); System.out.println ();

"% 4" trong phần đầu tiên của chuỗi định dạng chỉ ra rằng chương trình nên sử dụng bốn ký tự để in mỗi số nguyên. Nếu số nguyên chỉ dài hai ký tự thì hai ký tự còn lại sẽ là khoảng trắng. "D" trong chuỗi định dạng cho biết giá trị đầu ra là một số nguyên thập phân. Dòng cuối cùng của mã "System.out.println ()" di chuyển con trỏ đến dòng mã tiếp theo.

Khoảng cách vòng lặp

Lớp Định dạng yêu cầu kiến ​​thức sâu rộng về các chuỗi được sử dụng để xác định định dạng đầu ra. Tuy nhiên, thay vào đó, bạn có thể sử dụng kết hợp các vòng lặp để đạt được khoảng cách phức tạp hơn mà không cần các chuỗi định dạng phức tạp. Vòng lặp đặc biệt hữu ích khi cố gắng đạt được khoảng cách đồng đều giữa nhiều chuỗi. Ví dụ, bạn có thể lấy hai mảng chuỗi và hiển thị nội dung của chúng trong hai cột song song bằng cách sử dụng hai vòng lặp. Vòng lặp đầu tiên chạy qua cả hai mảng và tìm độ dài của chuỗi dài nhất trong một trong hai mảng. Vòng lặp thứ hai lại chạy qua các mảng. Nó in chuỗi từ mảng đầu tiên và sau đó trừ độ dài của chuỗi đầu tiên với độ dài của chuỗi dài nhất trong một trong hai mảng để tìm ra bao nhiêu khoảng trống mà nó cần đặt trước cột tiếp theo. Sau đó, chương trình sẽ in ra số khoảng trắng đó với vòng lặp lồng nhau sau:

for (int i = 0; i <numSpaces; i ++) {System.out.print (""); }

Sau khi in đúng số khoảng trắng, nó sẽ in chuỗi thứ hai. Điều này tạo ra hai cột chuỗi cách đều nhau mà không cần đến Định dạng của Java.


$config[zx-auto] not found$config[zx-overlay] not found