eristikos13 Δημοσ. 12 Ιανουαρίου 2010 Δημοσ. 12 Ιανουαρίου 2010 γεια σας... μολις αρχησα να μαθαινω java και σε μια ασκηση εχω προβλημα.. εχω τις παρακατω class σε διαφορετικα files... public class MetroStation { private String StationName; private Vendor[] Vendors; public MetroStation(String StationName, int Vendors) { this.StationName = StationName; this.Vendors = new Vendor[Vendors]; for(int i =0; i < Vendors; i++) { this.Vendors = new Vendor(); } } } public abstract class Passenger{ private MetroStation station; int ekdotirio; public abstract float getCost(); public void buyTicket(MetroStation station,int ekdotirio){ this.station=station; this.ekdotirio=ekdotirio; } public MetroStation getStationName(){ return this.station; } public int getEkdotirio(){ return this.ekdotirio; } } public class Student extends Passenger{ private int age; public Student(int age) { this.age = age; } public float getCost() { if (age > 25) return 1.0f; else return 0.50f; } } και οταν κανω compile σε μια κλαση Testt οπως η παρακατω public class Testt { public static void main(String[] args) { MetroStation station1 = new MetroStation("sintagma", 32); } Passenger p1 = new Student(22); p1.buyTicket(station1, 3); } μου βγαζει error στο p1.buyTicket(); ---> <identifier> expected τι κανω λαθος??? Σας ευχαριστω..
jstark Δημοσ. 12 Ιανουαρίου 2010 Δημοσ. 12 Ιανουαρίου 2010 Με μια πρώτη ματιά στα γρήγορα, λείπουν μερικές κλάσεις από τον κώδικα που εδωσες, πχ MetroStation και Soldier (εννοούσες Student? ). Επίσης κάτι άσχετο, μιας και γράφεις στα αγγλικά τις μεθόδους, δεν πρέπει να κάνεις το ίδιο με όλες; Η getEkdotirio χτυπάει κάπως ασχημα ...
virxen75 Δημοσ. 12 Ιανουαρίου 2010 Δημοσ. 12 Ιανουαρίου 2010 public void buyTicket(MetroStation station,int ekdotirio){ η ζητούμενη μέθοδος θέλει ορίσματα που δεν παρέχεις γι αυτό το μήνυμα λάθους. π.χ. αυτό είναι οκ > p1.buyTicket(station1,3);
eristikos13 Δημοσ. 12 Ιανουαρίου 2010 Μέλος Δημοσ. 12 Ιανουαρίου 2010 η ζητούμενη μέθοδος θέλει ορίσματα που δεν παρέχειςγι αυτό το μήνυμα λάθους. π.χ. αυτό είναι οκ > p1.buyTicket(station1,3); φιλε μου εχεις δικιο.. παρολ'αυτα εκανα τις αλλαγες οπως θα δεις και πανω αλλα παλι τα ιδια..
virxen75 Δημοσ. 13 Ιανουαρίου 2010 Δημοσ. 13 Ιανουαρίου 2010 public class Testt { public static void main(String[] args) { MetroStation station1 = new MetroStation("sintagma", 32); //} σβήσε την Passenger p1 = new Student(22); p1.buyTicket(station1, 3); } } //βάλε εδώ αυτήν που έσβησες έχεις βάλει σε λάθος θέσεις τις αγγκύλες
jstark Δημοσ. 13 Ιανουαρίου 2010 Δημοσ. 13 Ιανουαρίου 2010 φιλε μου εχεις δικιο.. παρολ'αυτα εκανα τις αλλαγες οπως θα δεις και πανω αλλα παλι τα ιδια.. Αν βάλεις και την κλάση Vendor το συζητάμε.
eristikos13 Δημοσ. 13 Ιανουαρίου 2010 Μέλος Δημοσ. 13 Ιανουαρίου 2010 Παιδια τελικα ηταν μια ανοησια μου που αφορα τις αγκιλες.. Συγνωμη αν σας εφαγα πολυτιμο χρονο.. Σας ευχαριστω
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.