Προς το περιεχόμενο

Java project


capitan

Προτεινόμενες αναρτήσεις

Δημοσ.
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.

 

δλδ εννοείς να φτιάξω ας πούμε ένα array τύπου vehicle 30 στοιχείων (10 max για κάθε τύπο vehicle) και σε αυτόν να αποθηκεύω αντικείμενα και από τις 3 subclasses...Καλή η ιδέα σου αλλά το πρόβλημα είναι η κληρονομικότητα των μεθόδων, όπως και τωρα: στην superclass Vehicles η insertVehicle() εισάγει τα τρία πρώτα, standard και στις 3 subclasses, χαρακτηριστικά, και υπάρχουν ανάλογες μέθοδοι στις υποκλάσεις για να εισάγουν το επιπλέον ξεχωριστό χρακτηριστικό. Εάν γινόταν ας πούμε η μέθοδος insertVehicle() να επιστρέφει αντικείμενο τύπου Cars, Buses ή Lorries ανάλογα με τι ζητάμε, δε θα είχαμε πρόβλημα...Τώρα που επιστρέφει τύπου vehicles πρέπει να κάνω ουσιαστικά αντιγραφή των στοιχείων στα εκάστοτε αντικείμενα subclass.

Δημοσ.

ρε αρχηγέ επειδή πολύ το κουράζουμε.... στείλε το project-άκι σου εδώ να το δούμε να σου απαντήσουμε.

Δε γίνεται τώρα να κάνουμε σπαζοκεφαλιές.

Δημοσ.

Company Class

 

>

import tuc.ece.cs111.util.*;

public class company {
public StandardInputRead etairia = new StandardInputRead();
public String Name;
public String Adress;

public company(String Name, String Adress){
	this.Name = Name;
	this.Adress = Adress;
}

public company(){}


public void insertCompany(){
	do
	    Name = etairia.readString("Give the name of the company: ");
	while (Name.equals(null));
	do
		Adress = etairia.readString("Give the adress of the company: ");
	while (Adress.equals(null));
	new company(Name,Adress);
		
}

}

 

Vehicle Class

 

>package tuc.ece.cs111.vehicles;

import tuc.ece.cs111.util.*;

public class Vehicles { 	
  public String arithmosKykloforias;
  public int Kybika;
  protected int maxSpeed;
  public StandardInputRead vehicle = new StandardInputRead();
  public final int TotalNumberOfObjects=10;
  
  public Vehicles (String arithmosKykloforias, int Kybika, int maxSpeed){
   
 this.arithmosKykloforias = arithmosKykloforias;
 this.Kybika = Kybika;
 if (maxSpeed>=50 && maxSpeed<=150)
     this.maxSpeed = maxSpeed;
 }
  
  public Vehicles(){}
  
  public Vehicles insertVehicle(){
   Vehicles auxiliaryVehicleObject = new Vehicles();
   do
	 arithmosKykloforias = vehicle.readString("Eisagete ton arithmo kykloforias tou oxhmatos: ");
   while (arithmosKykloforias.equals(null));
   do
	   Kybika = vehicle.readPositiveInt("Eisagete ta kybika tou oxhmatos: ");
   while (Kybika == -1 || Kybika == 0);
   do
	   maxSpeed = vehicle.readPositiveInt("Eisagete thn megisth taxhthta tou oxhmatos(50-150): ");
   while (maxSpeed<50 || maxSpeed>150);
   auxiliaryVehicleObject = new Vehicles(arithmosKykloforias,Kybika,maxSpeed);
   return auxiliaryVehicleObject;
  }
  
 
}  
     

 

Cars Class

 

>package tuc.ece.cs111.vehicles;

import tuc.ece.cs111.util.*;

public class Cars extends Vehicles {
public StandardInputRead car = new StandardInputRead();
protected int numberOfAirbags;
public Cars[] arrayOfCars = new Cars[TotalNumberOfObjects];
protected int counterOfCars=0;

public Cars(String AK, int cc, int maxSpeed, int numberOfAirbags){
	super(AK,cc,maxSpeed);
	if (numberOfAirbags>=1 && numberOfAirbags<=8)
	  this.numberOfAirbags = numberOfAirbags;
	}

public Cars(){}

public void insertCar(){
	System.out.println("Eisagete ta stoixeia tou aytokinhtou");
	arrayOfCars[counterOfCars] = (Cars) insertVehicle();
	do
		numberOfAirbags = car.readPositiveInt("Dvste ton arithmo tvn aerosakvn tou aytokinhtou (1-8): ");
	while (numberOfAirbags<1 || numberOfAirbags>8);
	arrayOfCars[counterOfCars].numberOfAirbags = numberOfAirbags;
	counterOfCars+=1;
}

public void deleteCar(){
	String SearchString;
	int i=0;
	Boolean Found = false;
	do
	   SearchString = car.readString("Dvste ton arithmo kykloforias tou aytokinhtou pros diagrafh: ");
	while(SearchString.equals(null));
	while (Found == false){
		if (arrayOfCars[i].arithmosKykloforias.equals(SearchString)){
			Found = true;
			for (;i<TotalNumberOfObjects;i++)
				arrayOfCars[i]=arrayOfCars[i+1];
		}	
		i+=1;
	}
	if (Found == true)
		System.out.println("Delete completed");
	else
		System.out.println("O arithmos kykloforias pou plhktrologhsate den brethike!");
	
}

public void printAllCars(){
	int i;
	System.out.println("Cars");
	System.out.println("");
	System.out.println("Arithmos Kykloforias        Kybika        Telikh Taxythta        Arithmos Aerosakvn");
	System.out.println("");
	for (i=0;i<=counterOfCars;i++){
		System.out.println(arrayOfCars[i].arithmosKykloforias+"        "+arrayOfCars[i].Kybika+"        "+arrayOfCars[i].maxSpeed+"        "+arrayOfCars[i].numberOfAirbags);
	}
}
}

 

Lorries + Buses Class (δεν έχουν ολοκληρωθεί)

 

>package tuc.ece.cs111.vehicles;

import tuc.ece.cs111.util.*;

public class Buses extends Vehicles {
public StandardInputRead bus = new StandardInputRead();
protected int load;
public Buses[] arrayOfBuses = new Buses[TotalNumberOfObjects];
protected int counterOfBuses;

public Buses(String AK, int cc, int maxSpeed, int load){
	super(AK,cc,maxSpeed);
	if (load>0)
		this.load = load;
}

public Buses(){}

   public void insertBus(){

   }

   public void deleteBus(){

   }

   public void printAllBuses(){

   }
}


package tuc.ece.cs111.vehicles;

public class Lorries {

public Lorries(){}


public void insertLorry(){
	
}


public void deleteLorry(){
	
}


public void printAllLorries(){
	
}
}

 

Εcecute Class

 

>import tuc.ece.cs111.util.*;
import tuc.ece.cs111.vehicles.*;

public class Execute {


public static void main(String[] args) {
	int selection =4 ;
	StandardInputRead dedomena = new StandardInputRead();
	company company0 = new company();
	Cars car0 = new Cars();
	Lorries lorry0 = new Lorries();
	Buses bus0 = new Buses();
	System.out.println("Auto company management");
	System.out.println("");
	company0.insertCompany();
	//System.out.println("Name:"+company0.Name+" Adress:"+company0.Adress);
	
	do{
		System.out.println("MAIN MENU");
	    System.out.println("");
	    System.out.println("1. Insert Auto");
	    System.out.println("2. Delete Auto");
	    System.out.println("3. Print all Auto");
	    System.out.println("4. Exit");
	    System.out.println("");
	    selection = dedomena.readPositiveInt("Give your selection(1-4): ");
	    switch(selection){
	       case 1: do{
	        	 System.out.println("Insert Menu");
	        	 System.out.println("");
	        	 System.out.println("1. Lorry");
	        	 System.out.println("2. Bus");
	        	 System.out.println("3. Car");
	        	 System.out.println("");
	        	 selection = dedomena.readPositiveInt("Give your selection(1-3): ");
	         }
	         while (selection!=1 && selection !=2 && selection !=3 );
	         switch (selection){
	            case 1: lorry0.insertLorry(); break;
	            case 2: bus0.insertBus(); break;
	            case 3: car0.insertCar(); break;
	         }
	         
	       case 2: do{
	    	     System.out.println("Delete Menu");
	    	     System.out.println("");
	    	     System.out.println("1. Lorry");
	    	     System.out.println("2. Bus");
	    	     System.out.println("3. Car");
	    	     System.out.println("");
	    	     selection = dedomena.readPositiveInt("Give your selection(1-3): ");
	             }
	             while (selection!=1 || selection!=2 || selection !=3);
	    	     switch (selection){
	    	        case 1: lorry0.deleteLorry(); break;
	    	        case 2: bus0.deleteBus(); break;
	    	        case 3: car0.deleteCar(); break;
	    	     }
	    	     
	       case 3:{ lorry0.printAllLorries();
	                bus0.printAllBuses();
	                car0.printAllCars();
	              }
	        
	       case 4: break;
	       
	       default : System.out.println("Insert an integer from 1 to 4");
	    }
	}
	while (selection != 4);
}

}

Δημοσ.

από μια γρήγορη ματιά...

 

public class Cars extends Vehicles {

public StandardInputRead car = new StandardInputRead();

protected int numberOfAirbags;

public Cars[] arrayOfCars = new Cars[TotalNumberOfObjects];

 

Γιατί έχεις μια κλάση που έχει array της ίδιας κλάσης στη δήλωσή της;;;

Συνήθως ορίζεις μια απλή κλάση Car ας πούμε... με τα χαρακτηριστικά της και σε κάποια άλλη κλάση ορίζεις το πλήθος από objects Car

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...