मुझे प्राथमिकता के आरोही क्रम में एक txt फ़ाइल की सामग्री को प्रदर्शित/सूचीबद्ध करने की आवश्यकता है। तो, क्या मुझे कार्य की प्राथमिकता के लिए एक अलग इनपुट लेने की आवश्यकता है या क्या मैं इनपुट लाइन को विभाजित कर सकता हूं?

private static void show() {
    
    String[] items = getData("task.txt");
    
    if (items.length == 0) {
        System.out.println("There are no pending tasks!");
    } else {
        for (int i = items.length - 1; i >=0; i--) {    
                System.out.printf("[%d] %s\n", i + 1, items[i]);
            
        }
    }

मेरा गेटडाटा इस तरह दिखता है:

private static String[] getData(String file) {
    ArrayList<String> dataList = new ArrayList<>();
    Scanner s=null;
    
    try {
         s = new Scanner(new FileReader(file));
        while (s.hasNextLine()){
            dataList.add(s.nextLine());
        }s.close();
    } catch (Exception e) {
        System.out.println("Problem to open \"task.txt\".");
    } finally {
        if (s != null) {
            try {
                s.close();
            } catch (Exception e) {
            }
        }
    }

    String[] items = new String[dataList.size()];
    for (int i = 0; i < items.length; i++) {
        items[i] = dataList.get(i);
    }

    return items;
}

इनपुट:
10 वह काम जो मुझे करने की ज़रूरत है
5 पौधों को पानी दें
11 स्वच्छ घर

आउटपुट:
5 पौधों को पानी दें
10 वह काम जो मुझे करने की ज़रूरत है
11 स्वच्छ घर

0
Naga Sai Sriya 25 पद 2021, 00:32

1 उत्तर

सबसे बढ़िया उत्तर

आप केवल ArrayList डेटालिस्ट को सॉर्ट कर सकते हैं: (मुझे लगता है कि "प्राथमिकता आइटम" प्रारूप पहले से ही है)

dataList.sort((o1, o2) -> {
        Integer priority1 = Integer.parseInt(o1.split(" ")[0]);
        Integer priority2 = Integer.parseInt(o2.split(" ")[0]);
        return priority1.compareTo(priority2);
    });

ट्राइ-कैच-आखिरकार-ब्लॉक के ठीक बाद इसे लगाएं।

0
Tobias Cremer 25 पद 2021, 00:56
मैंने स्ट्रिंग [] आइटम पर विचार किया है जो एक ही पंक्ति में प्राथमिकता इनपुट करता है, इसलिए प्राथमिकता स्ट्रिंग सरणी से अंतिम तत्व है जिसे अगले इनपुट और सॉर्ट से तुलना की जानी चाहिए
 – 
Naga Sai Sriya
25 पद 2021, 12:55
यदि यह अंतिम तत्व है तो आपको [0] से [1] में बदलने की जरूरत है (ofc जब केवल 2 प्रविष्टियां हों)
 – 
Tobias Cremer
25 पद 2021, 13:20
यदि >2 प्रविष्टियाँ हों तो इसे कैसे हल किया जा सकता है?
 – 
Naga Sai Sriya
25 पद 2021, 13:31