Trong cỏc chương trỡnh vớ dụ trờn, ta đó biết dựng hàm System.out.print để in dữ liệu ra màn hỡnh. Tuy nhiờn, trong một số trường hợp ta cần định dạng dữ liệu xuất ra chẳng hạn như hiển thị một số thực dạng thập phõn với độ chớnh xỏc nhất định.
System.out.printf(“%8.1f”, 10/3);
System.out.printf(“Hello, %s. You have %f VND ”, name,money); Sau đõy là bảng cỏc ký tự định dạng: Ký tự định dạng Định dạng Vớ dụ D Số nguyờn thập phõn 159 X Số nguyờn hệ 16 9f O Số nguyờn hệ 8 237 F Số thực float 15.9
E Số thực float theo ký phỏp cơ số e 1.59e+01
A Số thực float dạng Hexa 0x1.fccdp3
S String Hello
C Ký tự H
B Boolean True
H Hash code 42628b2
tx Date and time
% Ký hiệu phần trăm %
N Xuống dũng
Sau đõy là vớ dụ sử dụng cỏc ký tự định dạng khi xuất dữ liệu ra màn hỡnh. public class TestFormat
{
public static void main(String[] argvs) {
double sothuc = 10.09898765;
/*In ra số thực chiếm 10 ký tự trờn màn hỡnh trong đú phần thập phõn chiếm 3 ký tự*/ System.out.printf("Ket qua 3 so sau dau phay la %10.3f \n",sothuc);
int songuyen =100; /*In ra số nguyờn ở hệ cơ số 16*/
System.out.printf("He 16 cua 100 duoc viet la: %x \n",songuyen); /*In ra số nguyờn ở hệ cơ số 8*/
System.out.printf("He 8 cua 100 duoc viet la: %o \n",songuyen); /*In ra ký tự đặc biệt “” */
System.out.print("\"Mot tram phan tram\" thi in ra the nao: 100%"); }}
Lưu ý rằng khi sử dụng cỏc ký tự định dạng ta cần dựng hàm System.out.printf() thay vỡ System.out.print() hay System.out.println() như thường lệ.
Bài tập
1. Viết chương trỡnh tớnh giỏ trị cỏc biểu thức (Giỏ trị n, k,…nhập từ bàn phớm): A = 1 + 1/2! + 1/3! + … + 1/n!
B = 1/1! – 1/2! + 1/3! - 1/4! + … + 1/(2k+1)! - ….
2. Viết chương trỡnh đếm số từ cú trong một chuỗi ký tự nhập vào. Cỏc từ cỏch nhau bởi dấu space,. và ;
3. Viết chương trỡnh đếm tần suất xuất hiện của cỏc từ trong một chuỗi nhập từ bàn phớm. 4. Nhập vào một chuỗi họ tờn của một người, hóy sửa lại cỏc ký tự đầu cỏc từ cho đỳng quy định viết hoa và khoảng cỏch giữa cỏc từ. Vớ dụ: nguyen van nam -> Nguyen Van Nam
5. Tỡm cỏc lỗi trong cỏc đoạn chương trỡnh sau: a)
For ( x = 100, x >= 1, x++ ) System.out.println( x );
b) Đoạn mó sau sẽ in ra cỏc giỏ trị chẵn hay lẻ: switch ( value % 2 ) {
case 0:
System.out.println( "Even integer" ); case 1:
System.out.println( "Odd integer" ); }
c) Đoạn mó sau sẽ in ra cỏc số nguyờn lẻ từ 19 đến 1 ?: for ( x = 19; x >= 1; x += 2 )
System.out.println( x );
d) Đoạn mó sau sẽ in ra cỏc số nguyờn chẵn từ 2 đến 100 ?: counter = 2;
do {
System.out.println( counter ); counter += 2;
} While ( counter < 100 );
6. Đoạn chương trỡnh sau làm gỡ? public class Printing {
public static void main( String args[] ) {
for ( int i = 1; i <= 10; i++ ) { for ( int j = 1; j <= 5; j++ ) System.out.print( '@' ); System.out.println(); } } }
7. Viết chương trỡnh tỡm số nhỏ nhất trong số cỏc số được nhập vào từ bàn phớm. Cho biết số nguyờn đầu tiờn nhập vào sẽ chớnh là số cỏc con số được nhập.
8. Viết chương trỡnh in ra màn hỡnh cỏc mẫu như sau:
9. Tớnh số PI theo cụng thức sau: