OO Programmierung |
26.12.2014, 04:29 | Auf diesen Beitrag antworten » | |||||
neuling96 | OO Programmierung //i.imgur.com/3EuPWYc.jpg[/img] //i.imgur.com/ZGUoQrB.png[/img]
|
|||||
|
||||||
26.12.2014, 04:30 | Auf diesen Beitrag antworten » | |||||
neuling96 | RE: OO Programmierung
|
|||||
26.12.2014, 08:32 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Hallo, erst mal 2 formale Dinge: Lade Bilder bitte direkt hier im Board hoch und nicht extern. Dadurch ist sichergestellt, dass sie auch in 2 oder 3 Jahren noch da sind. Und gib dir bitte etwas mehr Mühe bei der Titelwahl (und sei es nur "Kreis", ist mir lieber als zwei mal "OO Programmierung" mit unterschiedlichem Inhalt). Nun zur Aufgabe. Im Konstruktor sollst du noch prüfen, ob der Radius negativ is und gegebenenfalls eine Exception werfen. Eine Funktion zur Skalierung fehlt komplett.
da passt gleich mehreres nicht. An die Funktion musst du eudklidischeDistanz(k.mittelpunkt) übergeben. Die Funktion weiß bereits, welchen Datentyp sie entgegennimmt, das musst du nicht mehr mit angeben. Und mittelpunkt2 ist nirgends definiert, kann der Compiler nicht kennen. Selbiges gilt für radius2. Und zwei Kreise schneiden sich also, wenn die Mittelpunkte weiter voneinander entfernt sind, als die Summe der Radien? |
|||||
26.12.2014, 08:44 | Auf diesen Beitrag antworten » | |||||
neuling96 | 1)Exception kenne ich leider noch nicht! 2) public boolean schneidet(Kries k){ if(this.mittelpunkt.eudklidischeDistanz(Punkt 2D k.mittelpunkt)>(radius+k.radius) { return false; }else { return true; } das man benutzen kann war mir nicht bekannt k.mittelpunkt folgende frage: alles mit this.y=x kann man mit punktnotation aufrufen? |
|||||
Anzeige | ||||||
|
||||||
26.12.2014, 09:06 | Auf diesen Beitrag antworten » | |||||
neuling96 | Hi, wegen den Bildern: Ich kann zwar die Datei über Dateianhänge speichern, allerdings erscheint es nicht Text dann? Im Matheboard gibt es die Funktion "attach", die ich nicht finde kann zu skaliere public void sakliere(double fac) { this.mittelpunkt.x*=fac; this.mittelpunkt.y*=fac; } } ich bin allerdings nicht sicher ob man mit this.mittelpunk.x tatsächlich die x Koordinate enthält. |
|||||
26.12.2014, 09:33 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl |
tust du nicht, ist nämlich private. Aber du kannst du Punkt sich selbst skalieren lassen: mittelpunkt.skaliere(fac). Der Radius muss natürlich auch geändert werden. Zu den Exceptions: offizielle Doku |
|||||
26.12.2014, 10:05 | Auf diesen Beitrag antworten » | |||||
neuling96 | wäre es nicht private, könnte dann darauf zurückgreifen? ich komm nicht dahinter, wie der radius allg. nach der Skalierung aussieht
|
|||||
26.12.2014, 10:08 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl |
|
|||||
26.12.2014, 11:40 | Auf diesen Beitrag antworten » | |||||
neuling96 | Hi, Eins muss ich noch los werden ! Vielen Dank für deine tolle Hilfe!! |
|||||
15.01.2015, 12:39 | Auf diesen Beitrag antworten » | |||||
neuling96 |
wir haben heute expection behandelt und ich bin mir nicht sicher ob man throw auch im konstrukter einbauen darf/kann?? |
|||||
15.01.2015, 12:59 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Dann probiere es doch einfach aus. Ergebnis: ja, man kann im Konstruktor eine Exception werfen. Und wenn du die Exception auffangen willst, mache es um Himmels Willen nicht so. |
|||||
15.01.2015, 13:05 | Auf diesen Beitrag antworten » | |||||
neuling96 | try { <Anweisung> ... } catch (<ExceptionTyp> e) { <Anweisung> ... } falls in der Anweisung einen Fehler auftritt dann wird mit es mit catch abgefangen und dann verlässt man den try-catch block und macht mit den restlichen Programm weiter? |
|||||
15.01.2015, 13:07 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Im Normalfall ja. Wenn ein geordnetes Weitermachen nicht möglich ist, kannst du auch deine Daten sichern und das Programm beenden oder selbst eine Exception werfen, die dann an die aufrufende Funktion weitergereicht wird. |
|||||
18.01.2015, 14:20 | Auf diesen Beitrag antworten » | |||||
neuling96 |
Abscheidend muss man throws IllegalArgumentException noch ergänzen , aber wieso? |
|||||
18.01.2015, 15:51 | Auf diesen Beitrag antworten » | |||||
Karlito | Die throws-Deklaration muss an die Methode, in der die Exception geworfen wird.
Die Deklaration wird von Java verwendet um den Programmierer zu einer Fehlerbehandlung mittels try-catch zu zwingen. Verwendet er eine Methode, welche eine Exception wirft, so muss er diese in einen try-catch-Block einbetten, sonst Kompiliert das Programm nicht. Eine Ausnahme bilden hier RuntimeExceptions. Diese können auch ohne throws-Deklaration geworfen werden. Gruß, Karlito |
|||||
18.01.2015, 20:26 | Auf diesen Beitrag antworten » | |||||
neuling96 | vielen dank |
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
|
Die Neuesten » |
|