ciao gente c'è qualcuno esperto in programmazione java che saprebbe risolvere questa classe sulle liste? La scrivo qui di seguito:
Si consideri la classe Fermata.java,
riportata di seguito per comodità, per la rappresentazione delle fermate degli autobus.
class Fermata {
String indirizzo;
Fermata prossima;
}
in cui indirizzo indica l'indirizzo in cui avviene la fermata e Fermata rappresente il riferimento alla fermata successiva nella linea.
Scrivere una classe Linea
(quindi in un file Linea.java)
per la rappresentazione di linee di autobus. La classe ha
un costruttore che prende in ingresso due indirizzi di due fermate f1 ed f2 e inizializza la linea impostando come prima fermata (la numero uno della linea) f1 e come capolinea
(la fermata numero due della linea) f2. La
classe ha inoltre i seguenti metodi pubblici:
•getIndirizzoPartenza() che restituisce una stringa contenente l'indirizzo della fermata di partenza della linea;
•getIndirizzoArrivo() che restituisce una stringa contenente l'indirizzo della fermata di arrivo della linea (il capolinea);
•aggiungiFermata(int n, String f) che presi in ingresso un intero n ed un indirizzo f inserisce una nuova fermata con indirizzo f in posizione n nella lista di fermate della linea;
•passaPer(String f) che dato un indirizzo f restituisce TRUE se la linea contiene una fermata che passa per quell'indirizzo, FALSE altrimenti;
•stampaLinea() che stampa a video la sequenza di fermate della linea
Scrivere le classi utilizzando le strutture collegate lineari (non e' possibile utilizzare classi del Collection Framework)
in modo da poter compilare ed eseguire il seguente programma di prova senza doverlo modificare. Se necessario e' possibile aggiungere altri metodi non richiesti.
public class ProvaEserc3
{
public static void main(String args[])
{
String indirizzo1 = "via merulana";
String indirizzo2 = "via carlo felice";
String indirizzo3 = "porta maggiore";
String indirizzo4 = "scalo san lorenzo";
Linea tre = new Linea(indirizzo1, indirizzo4);
tre.aggiungiFermata(2, indirizzo2);
tre.stampaLinea();
tre.aggiungiFermata(3, indirizzo3);
System.out.println("DOVREBBE STAMPARE \"via merulana\":" + tre.getIndirizzoPartenza());
System.out.println("DOVREBBE STAMPARE \"scalo san lorenzo\":" + tre.getIndirizzoArrivo());
if (tre.passaPer("stazione tiburtina"))
System.out.println("Il tre passa per stazione tiburtina");
else
System.out.println("Il tre NON passa per stazione tiburtina");
if (tre.passaPer("porta maggiore"))
System.out.println("Il tre passa per porta maggiore");
else
System.out.println("Il tre NON passa per porta maggiore");
}
}
ringrazio chiunque sappia risolverlo