Hilfe!!! Muss heute abgeben:(

Status
Nicht offen für weitere Antworten.

Illy

Neues Mitglied
Kann mir bitte jemand bei der folgende Aufgabe helfen. Ich hocke schon seit 5 Tagen daran und muss heute um 16 Uhr abgeben. War leider die Woche in der die Vorlesung dazu kam krank und habe mir es etliche mal durchgelesen und komme nicht weiter. Wäre um jede Hilfe, so klein sie auch sein möge, sehr dankbar.

Soweit bin ich gekommen
Java:
import java.awt.Color;

public class MobilTelefon {

private String hersteller;
private String bezeichnung;
private String imei;
private Color farbe;
private boolean qcApproved;

public MobilTelefon(){
this.hersteller = "Samsung";
this.bezeichnung = "SG 500";
setIMEI ["000000000000000"];
this.farbe = Color.blue;
}

public MobilTelefon(String hersteller, String bezeichnung, Color farbe,
String imei) {
this.hersteller = hersteller;
this.bezeichnung = bezeichnung;
this.farbe = farbe;
setIMEI(imei);
}

public static String getIMEI() {

return imei;
}

private void setIMEI(String imei) {
if (checkIMEI(imei) == true) {
this.imei = imei;
this.qcApproved = true;
} else {
this.qcApproved = false;

}
}

public static boolean checkIMEI(String imei){
if (imei.length == 15){
}
if (){

}else{
this.qcApproved = false;
}
return qcApproved;
}
}
Mobiltelefon

-hersteller:String
-bezeichnung: String
-imei:String
-farbe:Color
-qcApproved: boolean

+MobilTelfon()
+MobilTelefon(hersteller:String, beteichnung:String, farbe:Color, imei:String)
+getIMEI():String
-setIMEI(imei:String)
-checkIMEI(imei:String):boolean
-querSumme(zahl:int):int
+rufeAn(nr : TelefonNummer, nachricht : String)
+toString(): String


TelefonNummer

-laendercode:int
-vorwahl:int
-nummer:int

+TelefonNummer(laendercode:int, vorwahl:int, nummer:int)
+getLaendercode():int
+setLaendercode(laendercode:int)
+getVorwahl():int
+setVorwahl(vorwahl:int)
+getNummer() :int
setNummer(nummer:int)
toString():String


Hier die Augabenstellung dazu:

1. Der Default-Konstruktor von MobilTelefon soll die Attribute mit Standardwerten
versehen, wahrend der Parameter-Konstruktor die ubergebenen Parameter
den jeweiligen Attributen zuweist. Verwenden Sie zum Setzen der imei die entsprechende Methode!

2. Die IMEI ist eine 15-stellige Nummer, die ein Telefon identi ziert. Sie besteht aus
einer 8-stelligen TAC (type approval code), einer 6-stelligen SNR (serial number)
und einer Prufzi er. Die IMEI soll nachtraglich nicht verandert werden konnen,
weswegen nur getIMEI() von außen aufrufbar ist und die gesetzte imei als String
zuruckgibt. Die Methode setIMEI(), die von den Konstruktoren verwendet wird,
soll eine IMEI nur dann setzen, wenn sie von checkIMEI() als korrekt eingestuft
worden ist. In diesem Fall wird auch das Attribut qcApproved auf true gesetzt.
Im Fehlerfall ist das MobilTelefon defekt und qcApproved wird false.

3. Die Methode checkIMEI() uberpruft die ubergebene IMEI auf Korrektheit. Damit
eine IMEI korrekt ist, muss sie 2 Bedingungen erfullen:
(a) Die IMEI muss aus genau 15 Zeichen bestehen.
(b) Die letzte Zi er ist eine Prufzi er, die passend zu den vorherigen 14 Zi ern
sein muss.

Der Algorithmus zur Berechnung der Prufzi er funktioniert folgendermaßen, ausgehend
von einer 14-stelligen IMEI ohne die Prufzi er:

- Jede Zi er der 14-stelligen IMEI an einer ungeraden Stelle wird verdoppelt.
- Die dadurch entstandenen Zahlen werden wieder zi ernweise aufaddiert. Bei
Zahlen >= 10 muss also erst eine Quersumme gebildet werden.
- Endet die im vorherigen Schritt entstandene Summe mit einer 0, ist die
Prufzi er auch 0. Endet sie mit einer anderen Zahl, wird die Summe von der
nachst groeren Zahl abgezogen, die mit 0 endet.

Zur Verdeutlichung ein Beispiel:
1 2 3 4 5 6 7 8 1 2 3 4 5 6
1 4 3 8 5 12 7 16 1 4 3 8 5 12

Dies ist Schritt eins des Algorithmus. Im zweiten Schritt werden die Einzelzi ern
aufaddiert.
1 + 4 + 3 + 8 + 5 + (1 + 2) + 7 + (1 + 6) + 1 + 4 + 3 + 8 + 5 + (1 + 2)
= 62

Achten Sie dabei besonders auf die fettgedruckten Additionen. Zur Berechnung
der Einzelzi ernsumme ist es hilfreich, die Quersummenberechnung in eine Methode
querSumme() auszulagern.

Als letzten Schritt muss die 62 von der nachst groeren Zahl mit 0 am Ende
abgezogen werden, d.h. in diesem Fall ist die Prufzi er 70-62 = 8
Hinweis: Verwenden Sie dazu den modulo-Operator % oder nutzen Sie aus, dass
zwei int-Werte miteinander dividiert wieder einen int-Wert ergeben.
Stimmt die berechnete Prufzi er mit der letzten Zi er der ubergebenen IMEI
uberein, ist die IMEI korrekt. Stimmt sie nicht uberein, ist sie nicht korrekt.

4. In den Methoden rufeAn() und sendeSMS() soll neben der Art der ausgehenden
Nachricht (SMS oder Anruf) jeweils die Telefonnummer auf stdout ausgegeben
werden. Geben Sie bei der Methode sendeSMS() zusatzlich die ubergebene Nachricht
aus. Beide Methoden sollen vor der Ausgabe uberprufen, ob qcApproved auf
true gesetzt ist. Ist das Attribut false, soll stattdessen ausgegeben werden, dass
das Telefon nicht funktionsfahig ist.

5. Die Methode toString() soll uberschrieben werden und den Hersteller, die Bezeichnung,
die Farbe und die IMEI des Mobiltelefons ausgeben.

6. Zur Benutzung des Mobiltelefons fehlt noch die Implementierung der Methoden
in der Klasse TelefonNummer, die Telefonnummern nach dem Muster Ländercode
+ Vorwahl + Nummer abspeichern können soll. Der Parameter-Konstruktor soll
wie gehabt die übergebenen Parameter den entsprechenden Attributen zuweisen.
Zu jedem Attribut soll es außerdem eine set- und get-Methode geben, mit denen
die Attribute gesetzt und ausgelesen werden können. Die Methode toString()
soll wiederum überschrieben werden und die Telefonnummer in folgender Form
zurückgeben:
+<laendercode><vorwahl><nummer>
 
Zuletzt bearbeitet von einem Moderator:
G

Gonzo17

Gast
Ist doch eh das falsche Unterforum?
Und ehrlich gesagt ist das schon ein guter Brocken an Text. ^^ Vielleicht sagst du, was du schon hast und was nicht, weil alle 7 Aufgaben wird dir hier keiner machen. Gezielte Fragestellung, dann kriegste auch ne konkrete Antwort. ;)
 

Illy

Neues Mitglied
ja die aufgabe ist wirklich in 10-15 min bearbeitet wenn man das versteht, sind ja nur kleine teilaufgaben, aber ich verstehe sie leider nicht zu 100%.
wenn ich zumindest den algorithmus, also aufgabe 4 hätte, würde das mich schon ein ganzes stückchen weiterbringen.
naja ich tu was ich kann...

PS: Ich brauch nur die Teilaufgaben 3-5 ;) 1 und 2 hab ich ja fast und die 6. krieg ich auch glaub ich alleine hin wenn ich die anderen habe ;-)
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben