Java数组排序和过滤

时间:2017-03-06 12:37:49

标签: java sorting filtering

所以我有一个" csv"包含以下信息的文件:

PersonName,Likes,Dislikes,DOB,MOB
John Lauzon,Games,,14,09
Jane Smith,Music,,15,02
Hugh Mungus,Jokes,,01,04

此代码按DOB(日期)对该数组进行排序,并应按txtBDays中的值对其进行过滤,该值表示MOB(出生月份),并在名为" txtDisplayArea"的文本区域中显示结果。但是滤波器位不能正常工作

public void getBDays() {        
    for (int i =0; i < numberOfEntries; i++) {
        sortArray[i] = FriendInfo[i].getDOB() + "\t" + FriendInfo[i].getMOB() + "\t" + FriendInfo[i].getName() + "\t" + FriendInfo[i].getLikes() + "\t\t" + FriendInfo[i].getDislikes();
    }
    Arrays.sort(sortArray, 0, numberOfEntries);       

    txtDisplayArea.setText("Birthdays for the month of: " + txtBDays.getText() + "\n\n");
    txtDisplayArea.append("Date \tMonth \tName \t\tLikes \t\tDislikes \n");
    txtDisplayArea.append("------------------------------------------------------------------------------------- \n");

    for (int i = 0; i < numberOfEntries; i++) {
        //if (txtBDays.equals(FriendInfo[i].getMOB())) {
        if (txtBDays.getText().equals(FriendInfo[i].getMOB())) {
            txtDisplayArea.append(sortArray[i] + "\n");
        }
    }
}

默认情况下,当前月份的txtBDays中的值为3月份的03,但是当我运行应用程序时,过滤无法正常工作。这是结果屏幕截图的链接。

https://drive.google.com/open?id=0B6S30gKlNFC5c2xhNkhQbktjZzg

感谢任何帮助,谢谢。

0 个答案:

没有答案