Shirafari Δημοσ. 23 Δεκεμβρίου 2019 Δημοσ. 23 Δεκεμβρίου 2019 Καλησπέρα, Να γραφτεί μια κλάση με όνομα Javaexercise. Η κλάση πρέπει να περιέχει την εξής μεθόδο: Μια δημόσια ορατή μέθοδο με όνομα abc που δέχεται ένα όρισμα τύπου Function<Float, Float> με όνομα π.χ. defg και επιστρέφει αποτέλεσμα τύπου Function<Float, Float>. Η συνάρτηση (lambda function) που επιστρέφεται θα πρέπει να παρέχει την τιμή της defg διαιρεμένη με 67.
Moderators Kercyn Δημοσ. 23 Δεκεμβρίου 2019 Moderators Δημοσ. 23 Δεκεμβρίου 2019 Καλησπέρα και καλή βραδιά.
filip123go Δημοσ. 24 Δεκεμβρίου 2019 Δημοσ. 24 Δεκεμβρίου 2019 (επεξεργασμένο) Θέλεις να σου λύσουμε την άσκηση; Ποια ακριβώς είναι η ερώτηση. Edit: "δημόσια ορατή μέθοδο" ... Έχω μαλώσει με καθηγητή στο Πανεπιστήμιο επειδή επέμενε στα ελληνικά. Επεξ/σία 24 Δεκεμβρίου 2019 από filip123go
Shirafari Δημοσ. 24 Δεκεμβρίου 2019 Μέλος Δημοσ. 24 Δεκεμβρίου 2019 14 λεπτά πριν, filip123go είπε Θέλεις να σου λύσουμε την άσκηση; Ποια ακριβώς είναι η ερώτηση. Edit: "δημόσια ορατή μέθοδο" ... Έχω μαλώσει με καθηγητή στο Πανεπιστήμιο επειδή επέμενε στα ελληνικά. public Function<Float, Float> abc(Function<Float, Float> defg) { Function<Float, Int> sss = (a) -> defg / 67; return sss; } κάπως έτσι το σκεφτόμουν παρόλο που βγάζει λάθος ο compiler bad operand types for binary operator '/' Function<Float, Int> sss = (a) -> defg / 67; ^ first type: Function<Float,Float> second type: int έχεις κάτι στο μυαλό σου;
nask00s Δημοσ. 24 Δεκεμβρίου 2019 Δημοσ. 24 Δεκεμβρίου 2019 To "bad operand types for binary operator '/'" σου το πετάει γιατί στη διαίρεση περιμένει καποιον αριθμό, αλλα εσύ στέλνεις Function και δεν ξέρει πως να κάνει Function<Float, Float> / int Γενικά είσαι σε καλό δρόμο. Κάποια tips: 1. το Int (με κεφαλαίο I) είναι λάθος, μπορείς να πεις Function<Float, Integer>. Αλλά δεν το χρειάζεσαι εδώ. 2. χρησιμοποίησε Function<Float, Float> αφού έτσι λέει και η εκφώνηση 3. στο "... / 67" μπορείς να βάλεις ένα F στο τέλος "67F" για να κανεις το 67 Float 4. ψάξε να δεις την Function.compose πως λειτουργεί ή γενικά δες για Java Functional Composition 1
White_Cat Δημοσ. 24 Δεκεμβρίου 2019 Δημοσ. 24 Δεκεμβρίου 2019 (επεξεργασμένο) Καλησπέρα, φίλε ! Έχω πολύ καιρό να γράψω ο,τιδήποτε σε Java, γι' αυτό λίγο ως πολύ με πιάνεις στον ύπνο. Οι εκφράσεις λάμδα εισήχθησαν στη Java απ' την 8η έκδοση και μετά, που άμα θυμάμαι καλά πρωτοβγήκε γύρο στις αρχές του 2014. Μάλιστα παρουσιάστηκαν και σε μία ημερίδα που έκανε η Oracle για τις νέες δυνατότητες της έκδοσης αυτής στην Αθήνα το Μάιο του ίδιου χρόνου. Γενικά οι εκφράσεις λάμδα είναι μια προσπάθεια της Sun να εισάγει στη Java στοιχεία συναρτησιακού προγραμματισμού, σαν αυτά που υπάρχουν ας πούμε σε λιγότερο δημοφιλείς γλώσσες όπως η LISP. Παρακάτω γράφω μία τέτοια έκφραση που δέχεται ένα αριθμητικό όρισμα και τυπώνει το πηλίκο του διά 27. @FunctionalInterface interface MyFunctionalInterface { public int abc(int a); } public class JavaExercise { public static void main(String args[]) { MyFunctionalInterface f = (num) -> num/27; System.out.println(f.abc(270)); } } Ελπίζω λίγο να βοήθησα, Αφήστε λίγο τον προγραμματισμό τώρα τα Χριστούγεννα και φάτε ένα μελομακάρονο στην υγειά του Άσπρου Γάτου !!! Φιλικά, Ο Άσπρος Γάτος Επεξ/σία 24 Δεκεμβρίου 2019 από White_Cat
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα