Hi,
Ich habe ein Problem mit einer mir gestellten Aufgabe. Ich weiß nicht woran es liegt aber alle anderen kleineren Aufgaben und Übungen habe ich echt im Schlaf gemacht. (Java Anfänger aber Programmierkentnisse durch Visual Basic).
Mein Problem ist, es gibt vorgegebene Klassen, Methoden und Konstruktoren die wir benutzen sollen.
Die Zusammenhänge zwischen den in der Aufgabe gestellten Klassen ist mir auch noch nicht wirklich klar :-(
Wer macht was mit wem und wie u.s.w.
Man soll ein Handynetz simulieren.
http://www.ld-host.de/uploads/images/9544c6cc6bb4384c4c80282e71913175.png
Aufgabe:
Handynetz simulieren welches SMS senden kann.
Ich soll mit den drei Klassen auskommen. Als Ausgangspunkt habe ich Dokumentationen (unten angehängt)
Besonders mit der Dokumentation komme ich nicht klar.
In der Dokumentation von Message wird z.B. eine leere Message angelegt (Sinn?)
Die vier Variablen verwirren mich auch:
privatejava.lang.String content - content vom Datentyp String? Aber warum steht hier noch mal der Packetpfad
Meine ersten Methoden in Message sind:
Jetzt hab ich aber noch die ganzen setDate, setFrom, getFrom toString Methoden deren Verwendung mir unklar ist :-\
Mit toString sollen vermutlich content, to, from und date in eine Variable gespeichert werden.
Aber warum man das macht und wo ist mir auch nicht klar.
Die Methoden sollen dann vermutlich irgendwie mit Handy aufgerufen werden..
Dokumentation zu Message:
Dokumentation zu Handy
Dokumentation zu Provider
Das ist ungefähr die Aufgabenstellung. Für irgendwelche Lösungsansätze Tipps bin ich offen.
Programmieren und Lösungen finden macht mir echt Spaß aber hier seh ich wirklich nicht durch :-\
mfg
Ich habe ein Problem mit einer mir gestellten Aufgabe. Ich weiß nicht woran es liegt aber alle anderen kleineren Aufgaben und Übungen habe ich echt im Schlaf gemacht. (Java Anfänger aber Programmierkentnisse durch Visual Basic).
Mein Problem ist, es gibt vorgegebene Klassen, Methoden und Konstruktoren die wir benutzen sollen.
Die Zusammenhänge zwischen den in der Aufgabe gestellten Klassen ist mir auch noch nicht wirklich klar :-(
Wer macht was mit wem und wie u.s.w.
Man soll ein Handynetz simulieren.
http://www.ld-host.de/uploads/images/9544c6cc6bb4384c4c80282e71913175.png
Aufgabe:
Handynetz simulieren welches SMS senden kann.
Ich soll mit den drei Klassen auskommen. Als Ausgangspunkt habe ich Dokumentationen (unten angehängt)
Besonders mit der Dokumentation komme ich nicht klar.
In der Dokumentation von Message wird z.B. eine leere Message angelegt (Sinn?)
Die vier Variablen verwirren mich auch:
privatejava.lang.String content - content vom Datentyp String? Aber warum steht hier noch mal der Packetpfad
Meine ersten Methoden in Message sind:
Java:
private String content;
private String to;
private String from;
private String Datum;
public Message()
{
Datum = "aktuellesDatum";
}
public Message(contentA, toA, fromA)
{
content = contentA;
to = toA;
from = fromA
}
Jetzt hab ich aber noch die ganzen setDate, setFrom, getFrom toString Methoden deren Verwendung mir unklar ist :-\
Mit toString sollen vermutlich content, to, from und date in eine Variable gespeichert werden.
Aber warum man das macht und wo ist mir auch nicht klar.
Die Methoden sollen dann vermutlich irgendwie mit Handy aufgerufen werden..
Dokumentation zu Message:
Java:
public class Message
extends java.lang.Object
Klasse kapselt eine Sms Message für das simple SmsHandy-Projekt
Field Summary
private java.lang.String content
Nachrichteninhalt
private java.util.Date date
Sendedatum
private java.lang.String from
Absender Rufnummer
private java.lang.String to
Empfänger Rufnummer
Constructor Summary
Message()
Legt eine leere Message mit aktuellem Datum an
Message(java.lang.String content, java.lang.String to, java.lang.String from, java.util.Date date)
Legt eine initialisierte Message an.
Method Summary
java.lang.String getContent()
java.util.Date getDate()
java.lang.String getFrom()
java.lang.String getTo()
void setContent(java.lang.String content)
void setDate(java.util.Date date)
void setFrom(java.lang.String from)
void setTo(java.lang.String to)
java.lang.String toString()
Gibt die vollständige Message als String zurück.
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Field Detail
content
private java.lang.String content
Nachrichteninhalt
to
private java.lang.String to
Empfänger Rufnummer
from
private java.lang.String from
Absender Rufnummer
date
private java.util.Date date
Sendedatum
Constructor Detail
Message
public Message()
Legt eine leere Message mit aktuellem Datum an
Message
public Message(java.lang.String content,
java.lang.String to,
java.lang.String from,
java.util.Date date)
Legt eine initialisierte Message an.
Parameters:
content - Nachrichtentext
to - Empfänger
from - Absender
date - Erstellungsdatum
Method Detail
toString
public java.lang.String toString()
Gibt die vollständige Message als String zurück. Etwas trickreich ist die Ausagabe des Datums. Hierfür wird ein Objekt der Klasse DateFormat verwendet (siehe Dokumentation von DateFormat in der Java Standardbibliothek).
DateFormat.getDateTimeInstance().format(date)
Overrides:
toString in class java.lang.Object
Returns:
Stringrepräsentation der Message
getDate
public java.util.Date getDate()
Returns:
the date
setDate
public void setDate(java.util.Date date)
Parameters:
date - the date to set
getContent
public java.lang.String getContent()
Returns:
the content
setContent
public void setContent(java.lang.String content)
Parameters:
content - the content to set
getTo
public java.lang.String getTo()
Returns:
the to
setTo
public void setTo(java.lang.String to)
Parameters:
to - the to to set
getFrom
public java.lang.String getFrom()
Returns:
the from
setFrom
public void setFrom(java.lang.String from)
Parameters:
from - the from to set
Dokumentation zu Handy
Java:
java.lang.Object
extended by SmsHandy
public class SmsHandy
extends java.lang.Object
Diese Klasse simuliert ein Handy, das Sms senden und empfangen kann. Sms können (als kleine Besonderheit in diesem Projekt) entweder über den Provider gesendet werden, oder auch direkt an ein anderes Handy.
Field Summary
private java.lang.String number
die eigene Rufnummer
private Provider provider
der Provider, der Nachrichten weiterleitet
private java.util.ArrayList<Message> received
empfangene Nachrichten
private java.util.ArrayList<Message> sent
gesendete Nachrichten
Constructor Summary
SmsHandy(java.lang.String number, Provider provider)
Konstruktor, der die Rufnummer und den Provider initialisiert.
Method Summary
java.lang.String getNumber()
Provider getProvider()
void listReceived()
gib eine Liste aller empfangenen Nachrichten aus
void listSent()
gib eine Liste aller gesendeten Nachrichten aus
void receiveSms(Message message)
empfängt eine Nachricht und legt sie in der Liste der empfangenen Nachrichten ab.
void sendSms(java.lang.String to, java.lang.String content)
Schickt eine Sms ueber den Provider
void sendSmsDirect(SmsHandy peer, java.lang.String content)
Schickt eine Nachricht unter Umgehung des Providers direkt an ein anderes SmsHandy
void setProvider(Provider provider)
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Field Detail
sent
private java.util.ArrayList<Message> sent
gesendete Nachrichten
received
private java.util.ArrayList<Message> received
empfangene Nachrichten
number
private java.lang.String number
die eigene Rufnummer
provider
private Provider provider
der Provider, der Nachrichten weiterleitet
Constructor Detail
SmsHandy
public SmsHandy(java.lang.String number,
Provider provider)
Konstruktor, der die Rufnummer und den Provider initialisiert. Das neu angelegte Handy registriert sich außerdem bei seinem Provider.
Parameters:
number - die zugewiesene Rufnummer
provider - der Sms Provider
Method Detail
sendSms
public void sendSms(java.lang.String to,
java.lang.String content)
Schickt eine Sms ueber den Provider
Parameters:
to - Rufnummer des Empfängers
content - Inhalt der Nachricht
sendSmsDirect
public void sendSmsDirect(SmsHandy peer,
java.lang.String content)
Schickt eine Nachricht unter Umgehung des Providers direkt an ein anderes SmsHandy
Parameters:
peer - das empfangende Handy
content - Inhalt der Nachricht
receiveSms
public void receiveSms(Message message)
empfängt eine Nachricht und legt sie in der Liste der empfangenen Nachrichten ab.
Parameters:
message - empfangene Nachricht
listSent
public void listSent()
gib eine Liste aller gesendeten Nachrichten aus
listReceived
public void listReceived()
gib eine Liste aller empfangenen Nachrichten aus
getNumber
public java.lang.String getNumber()
Returns:
the number
getProvider
public Provider getProvider()
Returns:
the provider
setProvider
public void setProvider(Provider provider)
Parameters:
provider - the provider to set
Dokumentation zu Provider
Java:
Class Provider
java.lang.Object
extended by Provider
public class Provider
extends java.lang.Object
Die Klasse simuliert einen Sms Service Provider, der für seinen Kunden Sms empfangen und weiterleiten kann. Der Provider verwaltet alle seine Kunden in der subscriber Liste.
Field Summary
private java.util.ArrayList<SmsHandy> subscriber
Collection Objekt, das die Kunden verwaltet
Constructor Summary
Provider()
Provider Objekt anlegen und notwendige Felder initialisieren
Method Summary
void register(SmsHandy smsHandy)
Registriert ein neues Handy in der Kundendatenbank
boolean send(Message message)
Sende die Sms an den in der Nachricht angegebenen Empfänger.
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Field Detail
subscriber
private java.util.ArrayList<SmsHandy> subscriber
Collection Objekt, das die Kunden verwaltet
Constructor Detail
Provider
public Provider()
Provider Objekt anlegen und notwendige Felder initialisieren
Method Detail
send
public boolean send(Message message)
Sende die Sms an den in der Nachricht angegebenen Empfänger. Wenn dieser den Empfänger anhand der Nummer im to-Feld identifizieren kann, wird die Message zugestelt.
Parameters:
message - zu sendende Nachricht
Returns:
gibt an, ob Nachricht gesendet werden konnte
register
public void register(SmsHandy smsHandy)
Registriert ein neues Handy in der Kundendatenbank
Parameters:
smsHandy - das neue Handy
Das ist ungefähr die Aufgabenstellung. Für irgendwelche Lösungsansätze Tipps bin ich offen.
Programmieren und Lösungen finden macht mir echt Spaß aber hier seh ich wirklich nicht durch :-\
mfg
Zuletzt bearbeitet: