Hallo!!
Ich habe bald eine Klausur in Programmierung und versuche schon seit gestern eine Altklausur zu lösen und zwar geht es hier um die Methoden split und checkAvailability. Weil ich noch nie eine main Methode erstellt habe, weiß ich nicht ob mein Code richtig ist oder nicht.
Ich habe bald eine Klausur in Programmierung und versuche schon seit gestern eine Altklausur zu lösen und zwar geht es hier um die Methoden split und checkAvailability. Weil ich noch nie eine main Methode erstellt habe, weiß ich nicht ob mein Code richtig ist oder nicht.
Java:
public class Train {
private Coach firstCoach= null;
private Coach lastCoach = null;
public void append(Coach c){
if(firstCoach== null){
firstCoach= lastCoach=c;
}else{
lastCoach.setNext(c);
lastCoach=c;
}
}
public void remove(){
if(firstCoach == null){
return;
}
if(firstCoach.getNext()==null){
lastCoach= firstCoach= null;
}else{
lastCoach= firstCoach;
while(lastCoach.getNext().getNext()!=null){
lastCoach =lastCoach.getNext();
}
lastCoach.setNext(null);
}
}
public Train split(int n){
Coach pointer = firstCoach;
Train neuerZug = new Train();
while(pointer!=null ){
pointer= pointer.getNext();
neuerZug.append(pointer.getNext());
pointer.setNext(null);
}
//neuerZug.append(pointer.getNext());
//pointer.setNext(null);
return neuerZug;
/* for(int i=0; i<n; i++){
pointer =pointer.getNext();
Train neuerZug = new Train();
neuerZug.append(pointer.getNext());
pointer.setNext(null);
return neuerZug;
}*/
}
public boolean CheckAvailability(int[] passengers){
int kapazitätWaggon =50;
Coach pointer = firstCoach;
for(int i=0; i<passengers.length;i++){
if(passengers[i]>kapazitätWaggon ||getSize()< passengers.length){
return false;
}else{
if(passengers[i]<kapazitätWaggon&& passengers[i]+pointer.getNumberOfPassengers()>kapazitätWaggon){
return false;
}
pointer=pointer.getNext();
}
}
return true;
/*if(firstCoach!=null){
Coach pointer = firstCoach;
for(int i =0; i<passengers.length;i++){
if(passengers[i]+ pointer.getNumberOfPassengers()>50){
return false;
pointer=pointer.getNext();
}
}
}
return true;*/
}
public int getSize(){
if(firstCoach==null){
return 0;
}
int size=0;
Coach pointer= firstCoach;
while(pointer!=null){
size++;
pointer=pointer.getNext();
}
return size;
}