Thắc mắc về cách sử dụng printf format trong Java

mọi người cho em hỏi cái này nghĩa là gì với ạ “%-15s%03d%n” trong system.out.println("%-15s%03d%n"); với cả mọi người cho em hỏi những cái /r /t /n với %n trong java để làm gì ạ… e mới học được qua qua về java rất cần có người chỉ thêm ạ :(((((

1 Like

Bạn học qua C chưa nhỉ, nếu rồi thì cũng tương tự.

Mình có biết sơ về java, các kí tự này là kí tự định dạng xuất:

    %s là 1 chuỗi string, số trước s là số kí tự in ra, nếu số dương 
thì số kí tự thừa ra đc thay bằng khoảng trắng bên phải(căn lề trái),
nếu số âm thì số kí tự thừa ra đc thay bằng khoảng trắng
bên trái(căn lề phải).

    %d là 1 kí tự Decimal(trong C/C++ là int), số trước d là số chữ số in ra,
 nếu có số 0 phía trước thì các số bị thiếu thay bằng số 0.

    %n tương tự '\n' (?), là kí tự xuống dòng

    \t là dấu tab

    \r là về đầu dòng
2 Likes

Dạ em mới học java là ngôn ngữ đầu tiên ạ… Cho em hỏi cái %03d thì là nó có 3 chữ số còn số nào k đủ sẽ tự động thêm số 0 đằng trc đúng k ạ… còn cái %s e cũng chưa hiểu lắm… em mới học 11 thôi nên chẳng có kiến thức gì đâu ạ toàn tự tìm tòi tự học thôi ạ…

2 Likes

Good!

Nếu em dùng println nó sẽ in ra đúng 1 chuỗi như vậy -> %-15s%03d%n

        System.out.println("%-15s%03d%n"); // cần dùng dấu + để nối chuỗi
 output: -> %-15s%03d%n

Em phải sử dụng printf cùng với “%-15s%03d%n” là syntax để format String trong java thì code trên mới có hiệu quả

        System.out.printf("%-15s%03d%n", a,b ); // cần dùng dấu , để gián giá trị
      // a tương ứng -15s, b tương ứng 03d. %n để xuống dòng
Giả sử 
a =10, b =5;
%-15s và %03d đúng như bạn trên nói

 output: ->  10_ _ _ _ _ _ _ _ _ _ _ _ _  005  ( _ là khoảng trắng)
1 Like

vâng em cũng k để ý lắm ạ tại em làm bài này trên hackerrank… Anh có biết link nào dạy java cơ bản dễ hiểu mà đầy đủ tý không ạ… em học bên myclass.vn nó có mỗi 10 bài mà dạy rất qua loa ạ…

1 Like

Em lên youtube gõ Java Cơ bản StudyanShare. Anh thấy mọi người khen dạy hay. Em thử xem!

1 Like

Vâng em cảm ơn :smiley: để em xem thử xem sao

1 Like

Nhân tiện em nên sửa lại tiêu đề topic.
Phải là

Thắc mắc về cách sử dụng printf format trong Java

1 Like

Anh cũng học Java từ StudyAndShare nè, kênh ấy cũng đươc. Nếu có thời gian em lên trang web này : https://www.codecademy.com/learn học online.

1 Like

Em có xem qua rồi nhưng mà có vẻ mấy bài đầu làm hơi bị dài anh ạ kiểu nói về mấy cái phần tạo project các thứ k cần thiết lắm @@

1 Like

Bạn có thể tham khảo ở đây

1 Like

Cách tiếp cận lập trình của em như vậy thì hơi khó đó. Bây giờ những lập trình viên hiện đại đều khuyên nên bắt đầu với Python, trước đây thì là C/C++. Riêng anh thích bắt đầu với C/C++ vì hai ngôn ngữ này thuộc loại ngôn ngữ lập trình cấp " trung bình thấp " và là ngôn ngữ lập trình cấu trúc truyền thống nên dễ tiếp cận hơn so với hướng đối tượng như Java. Nếu em bắt đầu với C/C++ thì trên forum này có tài liệu dịch của anh @TBM_2512 cực kỳ hay và dể hiểu. Topic của anh đang là best-reader luôn đó smile:

1 Like

Em định học java xong mới học python a ạ tại bây h e đang cần học về java hơn tại trường em có thành lập kiểu một nhóm kiểu để lên ý tưởng và gửi bài đi thi qte và bài của nhóm bọn em được nhận và ý tưởng đấy về app trên mobile mà bonh e mới c3 k ai biết lập trình cả nhờ giúp thì cũng sẽ chỉ đc dự án này dự án sau sẽ k nhờ đc nữa. Vì thế + với cả e cũng tìm hiểu về lập trình sơ sơ r nên em mới quyết định học java mà h mới học đc chút chút về cơ bản @@

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?