capitan Δημοσ. 4 Απριλίου 2007 Δημοσ. 4 Απριλίου 2007 Γεια. Φτιάχνω ένα προγραμματάκι διαχείρισης των αυτοκινήτων μιας εταιρίας. Ο χρηστης πρέπει να εισάγει όνομα+διεύθυνση εταιρίας από το πληκτρολόγιο, και κατόπιν εμφανίζεται επαναληπτικά ένα μενου του τύπου: 1. insert auto 2. delete auto 3. print all auto 4. exit και π.χ insert menu 1. lorry 2. bus 3. car Εγώ έχω ορίσει 1 class car, 1 class lorry, 1 class bus, 1 class vehicle (ως superclass των car, lorry & bus γιατί έχουν 3 κοινά χαρακτηριστικά) και 1 class company. Η κάθε κλάση (εκτός από την vehicle), έχει method insert<τύπος οχήματος (π.χ car)>, delete<τύπος οχήματος> και print<τυπος οχηματος>. Για κάθε τύπο οχήματος η εταιρία έχει maximum 10. Λοιπόν τώρα στην main class > public class Execute { public static void main(String[] args) { company company1 = null; System.out.println("Auto company management"); System.out.println(""); company1.insertCompany(); //η μέθοδος αυτή περιέχει τα κατάλληλα μυνήματα, διαβάζει τα δεδομένα απο την είσοδο και δημιουργεί καινούριο αντικείμενο } } ο jvm launcher μου βγάζει ένα σφάλμα "could not find the main class". Η eclipse δε βγάζει κανένα σφάλμα σύνταξης. Τι παίζει?
vagpap Δημοσ. 5 Απριλίου 2007 Δημοσ. 5 Απριλίου 2007 Όπως και να έχει, χωρίς να απαντάω στο σφάλμα σου, θα χτυπήσει Null Pointer Exception μιας και καλείς μια μέθοδο (insertCompany() ) ενός αντικειμένου (company1) ενώ δεν έχει γίνει ακόμα instantiate...
djapal Δημοσ. 5 Απριλίου 2007 Δημοσ. 5 Απριλίου 2007 Δλδ πως το τρέχεις το αρχείο από DOS και σου χτυπάει; Το έχεις σε κάποιο πακέτο; πως είναι η δομή; Edit: όντως ρε αρχηγέ... αρχικοποιείς σε null ένα αντικείμενο και περιμένεις να τρέξεις η μέθοδός του;;;;
capitan Δημοσ. 5 Απριλίου 2007 Μέλος Δημοσ. 5 Απριλίου 2007 Μπορώ ν'αρχικοποιήσω με οτιδήποτε θέλω? Έβαλα null γιατί έτσι και αλλιώς η company1 θα έπαιρνε τιμή πιο κάτω αλλά σωστά, θα έβγαζε Null pointer exception. Τώρα κάνουμε τις exceptions και την null pointer απλά ακουστά την είχα...
djapal Δημοσ. 5 Απριλίου 2007 Δημοσ. 5 Απριλίου 2007 company company1 = null; XXXXX company company1 = new Company(); (ή όποιον άλλο constructor)
capitan Δημοσ. 5 Απριλίου 2007 Μέλος Δημοσ. 5 Απριλίου 2007 Αρχικοποίησα με τυχαία strings και πάλι το ίδιο σφάλμα βγάζει... Στο console βγάζει: "java.lang.UnsupportedClassVersionError: Bad version number in .class file at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) Exception in thread "main" "
djapal Δημοσ. 5 Απριλίου 2007 Δημοσ. 5 Απριλίου 2007 με ποιά έκδοση έκανες compile και με ποια το έτρεξες; ... and remember... google is your friend...
capitan Δημοσ. 5 Απριλίου 2007 Μέλος Δημοσ. 5 Απριλίου 2007 με ποιά έκδοση έκανες compile και με ποια το έτρεξες; ... and remember... google is your friend... To έτρεξα με JRE 1.5.0.11. Τώρα για compile δε ξέρω να σου πω, μιας και το eclipse 3.2.1 κάνει dynamic compilation. Στα settings του eclipse λέει JDK compliance level : 6.0 και είναι τσεκαρισμένο το "Use default compliance settings", αν αυτό βοηθάει...
BadGuy Δημοσ. 5 Απριλίου 2007 Δημοσ. 5 Απριλίου 2007 Δοκίμασες να κάνεις αυτό που λέει ο djapal πιο πάνω;;;Λογικά έτσι θα τρέξει.Μην αρχικοποιείς το αντικείμενο.
capitan Δημοσ. 5 Απριλίου 2007 Μέλος Δημοσ. 5 Απριλίου 2007 Δοκίμασες να κάνεις αυτό που λέει ο djapal πιο πάνω;;;Λογικά έτσι θα τρέξει.Μην αρχικοποιείς το αντικείμενο. όρισα και κενό constructor και αρχικοποίησα με αυτόν αλλά ούτε αυτό δουλεύει...
capitan Δημοσ. 5 Απριλίου 2007 Μέλος Δημοσ. 5 Απριλίου 2007 ok ευχαριστώ παιδιά! Απ'ότι φαίνεται ο compiler έκανε τη ζημιά. Άλλαξα το compliance level σε 5.0 και τώρα δουλεύει!
capitan Δημοσ. 5 Απριλίου 2007 Μέλος Δημοσ. 5 Απριλίου 2007 Απ'ότι φαίνεται πάλι θα χρειαστώ τα φώτα σας! Έχω ορίσει την εξής μέθοδο: > public Vehicles insertVehicle(){ Vehicles auxiliaryVehicleObject = new Vehicles(); (...) return auxiliaryVehicleObject; } Και στην class Cars υπάρχει η γραμμη: >arrayOfCars[counterOfCars] = (Cars) insertVehicle(); προσπαθώ δλδ (γιατί δυστυχώς δεν δουλεύει) να κάνω casting την insertVehicle() σε τύπο Cars δηλαδή σε subclass. Το σκεπτικό είναι να αντιγράψω τα στοιχεία που έχει μαζέψει η insertVehicle() σε ένα αντικείμενο της subclass και ύστερα από την μέθοδο insertCar() να προσθέσω τα χαρακτηριστικά που λείπουν. Καμιά ιδέα πως μπορεί να γίνει αυτό? Ευχαριστώ
Dikemou Δημοσ. 6 Απριλίου 2007 Δημοσ. 6 Απριλίου 2007 Το Cars class κανει extend το Vehicles class; Αν ναι τότε γίνεται αυτό που λες, άρα πες τι σφάλμα λαμβάνεις να δούμε τι άλλο μπορεί να είναι.... Αν όμως Vehicles extends Cars τότε δε γίνεται.
sexmaniac Δημοσ. 6 Απριλίου 2007 Δημοσ. 6 Απριλίου 2007 Geia sou file. Loipon nomizw pws o kalyteros tropos einai na exeis mia domh apo vehicles kai ekei na apothikeveis tis anafores sta diafora vehicles pou dhmiourgeis. Ayto sigoura den tha sou vgalei provlimata.Einai ayto pou lene polymorfismos. Twra an theleis meta na exeis px ola ta aytokinhta pou exeis perasei isws mporeis na xrhsimopoihseis mia extra metavlhth gia ton typo tou kathe vehicle sthn vehicle class. Etsi kathe fora tha elegxeis thn timh ayths ths metavlhths px an theleis cars tha koitas an einai 1 (an thn exeis dhlwsei int) kai analoga gia ta ypoloipa oxhmata. Den kserw akrivws pws exeis domhsei to programma sou... Elpizw na voithisa.
capitan Δημοσ. 6 Απριλίου 2007 Μέλος Δημοσ. 6 Απριλίου 2007 Το Cars class κανει extend το Vehicles class; Αν ναι τότε γίνεται αυτό που λες, άρα πες τι σφάλμα λαμβάνεις να δούμε τι άλλο μπορεί να είναι.... Αν όμως Vehicles extends Cars τότε δε γίνεται. Το Cars extends Vehicles. Βγάζει αυτό το σφάλμα: " Exception in thread "main" java.lang.ClassCastException: tuc.ece.cs111.vehicles.Vehicles at tuc.ece.cs111.vehicles.Cars.insertCar(Cars.java:21) at Execute.main(Execute.java:42) " Το πρόγραμμα τρέχει κανονικά μέχρι που φτάνει στην γραμμή >arrayOfCars[counterOfCars] = (Cars) insertVehicle();
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.