मुझे प्राथमिकता के आरोही क्रम में एक 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 स्वच्छ घर
1 उत्तर
आप केवल ArrayList डेटालिस्ट को सॉर्ट कर सकते हैं: (मुझे लगता है कि "प्राथमिकता आइटम" प्रारूप पहले से ही है)
dataList.sort((o1, o2) -> {
Integer priority1 = Integer.parseInt(o1.split(" ")[0]);
Integer priority2 = Integer.parseInt(o2.split(" ")[0]);
return priority1.compareTo(priority2);
});
ट्राइ-कैच-आखिरकार-ब्लॉक के ठीक बाद इसे लगाएं।
संबंधित सवाल
नए सवाल
java
जावा एक उच्च स्तरीय प्रोग्रामिंग भाषा है। इस टैग का उपयोग तब करें जब आपको भाषा का उपयोग करने या समझने में समस्या हो। इस टैग का उपयोग शायद ही कभी किया जाता है और इसका उपयोग अक्सर [वसंत], [वसंत-बूट], [जकार्ता-ई], [Android], [javafx], [हडूप], [श्रेणी] और [मावेन] के साथ किया जाता है।