का उपयोग कर शब्दों की औसत लंबाई कैसे प्राप्त करें मेरे पास एक शब्द सूची टेक्स्ट फ़ाइल है, मैं उस फ़ाइल से न्यूनतम, औसत और औसत शब्द लंबाई प्राप्त करना चाहता हूं। मैं अधिकतम मुद्रण कर रहा हूँ और न्यूनतमLambda Expression
System.out.println(readWords(filename)
.min(Comparator.comparing(s -> s.length()))
.get()
.length()
);
System.out.println(readWords(filename)
.max(Comparator.comparing(s -> s.length()))
.get()
.length()
);
यह काम करता है के रूप में उम्मीद के परीक्षण के लिए अपने मुख्य विधि में
public static Stream<String> readWords(String filename) {
try {
BufferedReader reader = new BufferedReader(new FileReader(filename));
Stream<String> stringStream = reader.lines();
return stringStream;
} catch (IOException exn) {
return Stream.<String>empty();
}
}
:
मैं एक धारा विधि है।
सवाल:
यह है कि मैं न्यूनतम और अधिकतम में किया था शब्द लंबाई के औसत पाने के लिए संभव है? दोनों मामलों में हां या नहीं, यह कैसे करें (केवल लैम्ब्डा अभिव्यक्ति के रूप में)?
आप .reduce (0, (i, c) -> c + i.length()) का उपयोग कर सकते हैं और इसे लाइनों की मात्रा से विभाजित कर सकते हैं। –
संकेत: यदि आपकी फ़ाइल वास्तव में बड़ी है और –
@JoshuaK को कम करने के बजाय बहुत सारी लाइनें एकत्रित होती हैं तो आपके योगदान के लिए भी धन्यवाद, मुझे –