bahamut_zero Δημοσ. 14 Σεπτεμβρίου 2017 Δημοσ. 14 Σεπτεμβρίου 2017 Καλησπέρα, έχω το εξής πρόβλημα, έχω 2 προγράμματακια γραμμένα σε java, και έχω πρόβλημα στο να τρέξω το ένα από τα 2 από cmd. Το πρώτο: public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } } το έχω αποθηκευμένο σαν HelloWorld.java σε ένα φάκελο, γίνεται κανονικα compile, και το τρέχω και τυπώνει Hello κανονικα ( > java HelloWorld) Το δευτερο package car; import java.util.Scanner; public class Car { public int hp; public int cc; public double width; public double height; public double speed; public String colour; public String name; public Car() { readData(); printData(name); } public void readData() { Scanner in = new Scanner(System.in); System.out.print("give the car hp: "); hp = in.nextInt(); System.out.print("Give the car cc: "); cc = in.nextInt(); System.out.print("Give the car colour: "); colour = in.next(); System.out.print("Give speed"); speed = in.nextDouble(); System.out.print("give name: "); name = in.next(); } // readData public void printData(String name) { System.out.println("name: " + name); System.out.println("car speed is: " + speed); System.out.println("car cc is : " + cc); System.out.println("hp is " + hp); System.out.println("speed colour: " + colour); } // printData public void accelerate() { speed = speed + 30; } // accelerate public static void main(String[] args) { Car honda = new Car(); Car bmw = new Car(); honda.readData(); honda.printData(honda.name); bmw.readData(); bmw.printData(bmw.name); } // main } έστω πως είναι στο desktop, τρέχω κανονικά: c:\Users\Myname\Desktop> javac Car.java αλλα όταν δώσω > java Car μου επσιτρεφει: Error: Could not find or load ain class Car οι enviromental variables οπυ έχω δηλώσει είναι: JAVA_HOME C:\Program Files\Java\jdk1.8.0_144 PATH %JAVA_HOME%\bin CLASSPATH C:\Program Files\Java\jre1.8.0_144\lib\rt.jar έχετε ιδέα τι μπορεί να φταίει;
d_crazy Δημοσ. 14 Σεπτεμβρίου 2017 Δημοσ. 14 Σεπτεμβρίου 2017 Δοκίμασε να το τρέξεις έτσι: java car.Car
bahamut_zero Δημοσ. 14 Σεπτεμβρίου 2017 Μέλος Δημοσ. 14 Σεπτεμβρίου 2017 Δοκίμασε να το τρέξεις έτσι: java car.Car τπτ το ιδιο
tsofras Δημοσ. 14 Σεπτεμβρίου 2017 Δημοσ. 14 Σεπτεμβρίου 2017 Φτιάξε ένα folder στο Dekstop σου με όνομα car. Κάνε move το Car.class εκει μέσα Μετά απο το cmd ενώ είσαι στο Dekstop folder (c:\Users\Myname\Desktop) δώσε java car.Car Είσαι έτοιμος. Η διαφορά με το HelloWorld είναι ότι έχεις δηλώσει package name
solarpower Δημοσ. 14 Σεπτεμβρίου 2017 Δημοσ. 14 Σεπτεμβρίου 2017 http://tpcg.io/yTfado Δυο προβλήματα βρήκα:Δεν μπορείς να ζητάς δεδομένα στο constructor του Car και να τα ζητάς και πιο κάτω (χωρίς να τα δίνεις ξανά)!Άλλαξα το input stream από την κονσόλα σε αλφαριμθμητικό.Έβαλα και μερικά \n όπου έκρινα ότι χρειάζονταν! μπορείς να βάλεις και αυτές τις γραμμές για να χρησιμοποιηθεί και το accelerate() honda.accelerate(); honda.printData(honda.name+ " accelerate"); 1
tsofras Δημοσ. 14 Σεπτεμβρίου 2017 Δημοσ. 14 Σεπτεμβρίου 2017 http://tpcg.io/yTfado Δυο προβλήματα βρήκα: Δεν μπορείς να ζητάς δεδομένα στο constructor του Car και να τα ζητάς και πιο κάτω (χωρίς να τα δίνεις ξανά)! Άλλαξα το input stream από την κονσόλα σε αλφαριμθμητικό. Έβαλα και μερικά \n όπου έκρινα ότι χρειάζονταν! μπορείς να βάλεις και αυτές τις γραμμές για να χρησιμοποιηθεί και το accelerate() honda.accelerate(); honda.printData(honda.name+ " accelerate"); Ωραίος αλλά ο TS θέλει απλά να το τρέξει. Αν ήταν να το σουλουπώσουμε θα το σβήναμε ολόκληρο και θα το ξαναγράφαμε , αλλά ακόμη μαθαίνει το παλικάρι προφανώς οπότε έχει δρόμο για τις διορθώσεις. 1
solarpower Δημοσ. 14 Σεπτεμβρίου 2017 Δημοσ. 14 Σεπτεμβρίου 2017 Όταν το τρέχει το παράδειγμα που δείχνω φτιάχνει μόνο του αυτά: $javac car/Car.java$java -Xmx128M -Xms16M car/Car Άρα: στο φάκελο car πρέπει να βάλει το Car.java (σε Linux πεζά με κεφαλαία διαφέρουν) javac car/Car.java και μετά αυτό (τα άλλα είναι για την μνήμη...δεν μας ενδιαφέρει εδώ) java car/Car 1
bahamut_zero Δημοσ. 14 Σεπτεμβρίου 2017 Μέλος Δημοσ. 14 Σεπτεμβρίου 2017 παιδια σας ευχαριστω. Οντως ο κωδικας ειναι πολυ basic, και δεν με απασχολει σε 1η φαση, απλα θελω να δω πως τρεχει απο cmd. Στο θεμα μας, δεν μου δουλεψε μεχρι που εσβησα το package Car; και μετα όντως μου έτρεξε, αλλα μόνο όταν μπήκα στον φακελο car. δηλαδή ενώ δουλεψει το compile > javac car\car.java η εντολή java car.Car δεν μολις μπηκα στον φακελο ολα καλα. Τι ακριβως το χαλαει στο οταν οριζω package και σε αυτες τις περιπτωσεις πως μπορει να τρεξει ο κωδικας απο cmd/terminal; edit: αν βοηθαει εχω φτιαξει ενα project μεσα απο netbeans και κλασσικα ο φακελος εχει μεσα υποφακελους build, src, test Κλπ και τα αρχεια java ειναι στο path: Car\src\car\Car.java
solarpower Δημοσ. 14 Σεπτεμβρίου 2017 Δημοσ. 14 Σεπτεμβρίου 2017 Το java car.Car θα πρέπει να ήταν java car\Car και εκτέλεση από το φάκελο Car\src\ (σε αυτό που έγραψα στο προηγούμενο post είναι σε Linux terminal οι εντολές).
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα