Showing posts with label Java Bug. Show all posts

Cách In Nhanh Các Phần Tử Của Một Mảng Hai Chiều Trong Java? | The Faster Way To Print A Two-dimensional Array In Java?


Trong bài viết trước tôi có hướng dẫn cách in nhanh các phần tử của một mảng một chiều (the faster way to print a one-dimensional array in java), trong bài viết này tôi xin hướng dẫn tiếp cách in nhanh các phần tử của mảng hai chiều trong java (The Faster Way To Print A Two-dimensional Array). Cững tương tự như cách in nhanh giá trị của các phần tử mảng một chiều ta cũng sẽ sử dụng một hàm dựng sẵn trong lớp "java.util.Arrays" để thực hiện đều này, hàm này có cấu trúc như sau:

Arrays.deepToString(array2d);

Để hiểu rõ hơn cách nó hoạt động tôi có viết một ví dụ nhỏ để minh họa như sau:

package z.test;

import java.util.Arrays;

/**
 *
 * @author bnson
 */
public class BestWayPrintArray2D {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here      
        String[][] values = new String[2][];
    // Fill first row with 2-element array.
    values[0] = new String[2];
    values[0][0] = "cat";
    values[0][1] = "dog";

    // Use 3-element array for second row.
    values[1] = new String[3];
    values[1][0] = "fish";
    values[1][1] = "bird";
    values[1][2] = "lizard";       
       
        System.out.println(Arrays.deepToString(values));       
       
       
    }
}

Result - Kết Quả:

run:
[[cat, dog], [fish, bird, lizard]]
BUILD SUCCESSFUL (total time: 0 seconds)


Cách tốt nhất để in tất cả các phần từ trong một mảng 1d trong Java? The best way print all elements of array in Java?

Chắc các bạn không lạ gì một biến mảng 1 chiều (array 1d) trong Java? Thông thường để in các phần tử tồn tại trong một giá trị mảng ta thường nghĩ tới viết một vòng lập for hoặc while để làm điều này. Tuy nhiên nếu bạn đơn giả chỉ muốn hiển thị các giá trị trong một mảng ra màn hình, thì ta không nhất thiết phải sử dụng vòng lập để thực hiện điều này, mà chỉ cần sử dụng một số hàm dựng sẵn trong Java thuộc lớp "java.util.Arrays" là được, dưới đây là một số hàm hỗ trợ in in nhanh các giá trị của mảng:

Hàm Java String Split Tự Động Remove Tất Cả Dữ Liệu Trống Tại Cuối Mảng. | Java String Split Removed All Empty Values At End Array.

Bài viết hôm nay xin giới thiệu một trường hợp đặc biệt của hàm Split String trong Java, bạn có bao giờ gặp trường hợp khi Split Part một chuỗi có tồn tại các giá trị trống (empty values) ở các vị trí cuối cùng, sau đó bạn thấy chiều dài của mảng split không đúng với mong đợt.

Tại sao không nên dùng printStackTrace()? | Why is printStackTrace() not recommended?

Trong khi lập trình trên Java thì các bạn không lạ gì hàm in ngoại lệ phát sinh ra màn hình "printStackTrace()", có thể nói đây là một hàm rất thông dụng. Tuy nhiên trên giao diện lập trình ừng dụng Netbeans thì lại đưa ra lời khuyên không nên dùng "Throwable.printStackTrace() should be removed". Vì sao lại không nên dùng.

Java Bug "java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver"

Khi lập trình Java hay chay một ứng dụng Java nào đó có thao tác liên kết hay xử lý với Microsoft SQL Server bạn thể thể gặp lỗi "java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver". Bài viết này sẽ hướng dẫn cách xử lý lỗi này.

Làm thế nào để chèn ký tự nháy kép vào String trong Java? (How to insert double quotes in a String in Java?)






Như ta đã biết ký tự nháy kép ("") được dùng để định nghĩa các chuỗi dữ liệu văn bảng, vay câu hỏi ta đặt ra là làm sao để chèn ký tự nháy kép này vào chuỗi? Bài viết này sẽ cung cấp một ví dụ đơn giản để giải quyết câu hỏi trên.



Lỗi chèn ký tự xuống dòng(enter) khi mở tập tin TXT bằng Notepad của Windows. (NotePad applicaiton of Windows not recognizing new line characters in Java?)






Bài viết này ta sẽ thảo luận một bug thông dung khi thao tác dòng mới(new line) hoặc ký tự xuống dòng(enter) với các tâp tin TXT trong ngôn ngữ lập trinh Java.





Bug - "Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory"






Hôm này ngồi code thì gặp phải bug sau, sau một hồi tìm hiểu cũng tìm ra được giải pháp để xử lý bug này, nên chia sẻ với các bạn đồng cảnh ngộ ^^!





Java - Chức năng loại bỏ các giá trị trống ở cuối của hàm split(Bug split empty strings at the end).




Hôm nay trong lúc code nhanh một chương trình nhỏ gặp một trường hợp bug có liên quan hàm split trong Java thấy cũng hay nên phân tích và viết lại.

Trường hợp xảy ra là có đoạn String được phân cách các giá trị với nhau bằng dầu chấm phẩy trong đó có những giá trị trống(ex: ABC;DEF;BDE;;;) khi dùng Split để chuyển đổi thành mảng thì các giá trị trống của cuối đoạng String sẽ không được chuyển thành một giá trị trong mảng.


Netbeans - jComboBox sự kiện itemStateChanged gọi một phương thức 2 lần(Why is itemstatechanged method called two on changing an item in java swings?).




Hôm nay có thằng bạn đưa ra một vền đề về sự kiện(event) itemStateChanged là tại sao khi sự kiện này được thực thi thì câu lệnh trong nó được gọi tới 2 lần.

Hờ hờ hên sao lỗi này mình từng bị dính trước đây rùi, thật sự nó cũng không phải lỗi mà là do ta chưa hiểu rõ về sự kiện itemStateChanged thôi. Nhớ hồi đó tìm nguyên nhân cũng muốn mòn con mắt TT^TT.