Suche Hilfe , Problem mit Vektoren und klassen

Status
Nicht offen für weitere Antworten.

Leox

Mitglied
Hallo, ich habe mal eine Frage:


Mein Ziel ist Folgendes:

Ich will eine große Liste anlegen, deren Elemente wieder eine Art Liste ist.
Ich brauch nämlich eine fertige Liste für eine Widerstandsschaltung.


Also soll es ungefähr so aussehen:



[ R { P(w1,w2), P (R ((w3,w4), W5)]

heißt: ich hab eine Reihenschaltung, bestehend aus 1., einer Parallelschaltung aus 2 Widerständen, 2. einer Parallelschaltung bestehend aus a)einer Reihenschaltung (w3,w4) und b)einem 5. Widerstand.


Erstmal will ich mir im Quelltext diese Liste anlegen, aber ich hab keinen blassen schimmer wie das gehen soll.

Also erstmal ist ja klar, dass ich nen hauptprog brauche, indem ich mir die liste anlege, diese wird wohl ein Vektor sein.
Ich hab 3 Klassen (wiederstand, reihe, parallel)...Wie bekomme ich es jetzt hin, dass ich im hauptprogramm zb´. sagen kann. 1. element der liste ist eine Reihenschaltung vom....etc.etc.


Gruß Leox
 

Leox

Mitglied
ja der Kerl hat sein Quelltext leider gelöscht.


Aber so hatte ich es mir auch cshon überlegt.
Jetzt wollte ich eigentlich nur folgendes wissen:

Ich hab 3 Klassen, zeichnewiderstand, zeichneparallel, zeichneserie,

zeichnewiderstand ruf ich auf, indem ich z.b. den widerstand i´n string verwandel, mit den koordinaten rüberschicke und er mir nen kästen + den widerstand drinne anzeigt.

bei der serie würde ich ja alle widerstände mitgeben, und er würd einzeln dann wieder zeichnewiederstand aufrufen mit den jeweiligen strings und den dazugehörigen koordinaten.

nur wie bekomme ich es hin, dass er zeichenserie mit allen übergebenen widerständen startet..

muss ich das als array machen? oder kann man auch nen vektor ´mit übergeben???
 

Leox

Mitglied
sorry doppelpost

aber noch eine ergänzung zur frage, damit das klar ist, was ich wissen will...

Parallel P2 = Parallel(w1,w2)

was ist dann das in der Klammer, also mit was wird P2 bzw. Parallel dann aufgerufen? Array? Vektor?
 
G

Gast

Gast
Du legst im Konstruktor der Klasse fest was beim Aufruf desselben übergeben werden muss. Eine Parallelschaltung besteht halt aus mehreren Widerständen.
 

diggaa1984

Top Contributor
Leox hat gesagt.:
was ist dann das in der Klammer, also mit was wird P2 bzw. Parallel dann aufgerufen? Array? Vektor?

das sind referenzen auf die widerstands-objekte. Da bei Parallel klar ist wie die Elemente angeordnet sind, reicht es direkt die Widerstände zu übergeben.

wenn du vorhast ne Reihenschaltung mit einem widerstand parallel zu schalten könntest du dir andere parameter für den konstruktor überlegen. Das wird aber bei mehreren unterschiedlichen bauteilen ziemlich eklig, eventuell besser über eine abstrakte Klasse, oder ein Interface von dem die Bauteile erben/abgeleitet sind

Code:
public class Parallel {

    public Parallel(AbstraktesBauteil[] teile) {
        //setze einzelne Bauteile parallel
    }

    public Parallel(Reihenschaltung[] rs, AbstraktesBauteil[] teile) {
        //setze Reihe und Bauteile parallel
    }
}

wäre vielleicht noch am flexibelsten, wenn du nun noch Dioden oder dergleichen reinbauen sollst, dann sind die auch vom Abstrakten abgeleitet und könnten einfach übergeben werden.
Und praktisch das du hier Arrays übergibst, damit du auch mal 3 reihenschaltungen übergeben kannst ohne gleich nen neuen konstruktor zu bauen, du musst eben nur die Länge der Arrays prüfen
 

Leox

Mitglied
ja, ich leg im konstruktor fest, wieviel widerstände mit reinkommen - da liegt ja das problem.

ne reihenschaltung kann ja aus allen möglichem bestehen. kann ja auch aus 2 parallelschaltungen wieder bestehen, die muss ich ja dennoch irgendwie mit überbringen :-(

und zum 2. post..weiß nicht, ob es an der uhrzeit liegt, aber ich hab nur die hälfte verstanden :)
 

diggaa1984

Top Contributor
na interface oder abstrakte klasse kennst aber oder?
somit kannst einfach mal den eigenltich typ des bauteils der inne schaltung kommt "ausblenden" und alle einzelbauteile werden als AbstraktesBauteil gesehen (oder eben was äquivalentes als interface). Somit kannst in
Code:
public Parallel(AbstraktesBauteil[] teile) ..
sowohl Widerstände wie Kondesatoren oder Dioden reinbaun, ohne das du dafür nen neuen Konstruktor bauen musst, da alle vom Typ AbstraktesBauteil abgeleitet sind.

Die Angabe als Array hilft da ebenfall, da du flexibel bist, was die Anzahl an zu parallel-schaltenden Bauteilen angeht (2,4,10 Widerstände, passen alle ins Array).

Selbiges für die Reihenschaltung. Hier kannst 2,3,4 Reihenschaltungen ins Array legen, und damit selbige parallel schalten. Also ich finde für deine Problematik find ich diese Lösung noch ganz praktikabel, da du quasi beliebig viele Sachen parallel schalten kannst.

Weiss nich wie ichs noch erklären soll, aber frag ruhig nach
 

Leox

Mitglied
ok ich versuch es nochmal.

tut mir leid, wenn ich so blöde tu, aber ich hab vorher nix derartiges gemacht und hab immer noch meine probleme, mit klassen,methoden,etc.


wie auch jemand anders hier, muss ich die grafische ausgabe machen.


ich hab also folgendes vor:

1. ich muss mir eine Liste anlegen ( da weiß ich halt nicht, wie ich es machen soll)
2. ich schreib ne klasse: widerstandzeichnen. heißt: strich-rechteck-strich und oben drüber steht ne zahl
3. ich muss ne klasse schreiben: reihezeichnen. heißt in diese klasse wird z.b. übergeben. reihenschaltung 1 besteht aus parallelschaltung 1 und widerstand 1. dann muss aus der klasse ja erst auf parallelzeichnen und dann auf widerstandzeichnen zurückgegriffen werden.

jetzt habe ich mal angenommen meine liste.

die sieht dann so aus:

Code:
         R2 - R3 
       /           \
R1 -  ---R4---------R6
      \            /
          -R5 -

das heißt meine liste würde ja so aussehen:

Reihenschaltung1 { Parallelschaltung1 [ Reihenschaltung2 (R2,R3) ; R4; R5] ;R6}


jetzt muss ich ja irgendwie eine Methode aufrufen, die nachguckt, was ist das erste element in der liste.
und dann?

ich hab da einfach kein durchblick, wieviele klassen ich da in eine einzelne datei reinpacken kann oder nicht.
 

diggaa1984

Top Contributor
gut muss sagen, meine ansätze betrafen eher die klassen Parallel und Reihe, damit du diese leicht mit werten füttern kannst. Zu dem Problem mit der Liste fällt mir nu erstma auch nur der Aufbau über einen Baum ein (math. definition). Den könnte man quasi in einer bestimmten richtung ablaufen und auslesen und damit würdest du erkennen welche elemente wann gezeichnet werden müssten und wie diese so verschachtelt sind. Aber das isn eigener Themenkomplex, vielleicht versuchst dich da einzulesen
 

diggaa1984

Top Contributor
@Baum: könnte so aufgebaut sein:

Code:
          Reihe
   ______/  |  \______   
  /         |         \
R1        Parallel    R6
          /   |   \
       __/    |     \__
     /        |         \
   Reihe     R4           R5
  /   \
 /      \
R1     R2

so in etwa ^^
 

Leox

Mitglied
ja gut, versuch ich mal irgendwie reinzukommen...


welche variablen eignen sich denn da am besten für? vektor?
 

diggaa1984

Top Contributor
das ne gute frage, da müsste sich jemand anders einschalten ^^ .. wir ham das in der uni selbst programmiert sone Baumstruktur, aus Javamitteln hab ich da noch nix genutzt und is mir nix derartiges bekannt. Kenn nur TreeMap und TreeSet, weiss aber nicht inwiefern man damit arbeitet
 

Triebi

Aktives Mitglied
diggaa1984 hat gesagt.:
Code:
public class Parallel {
[...]
}
Es ist vielleicht eine Überlegung wert, die Klassen Parallel(schaltung) und Reihenschaltung von AbstraktesBauteil erben zu lassen. Das könnte IMHO einiges erleichtern, z. B.:
Leox hat gesagt.:
ne reihenschaltung kann ja aus allen möglichem bestehen. kann ja auch aus 2 parallelschaltungen wieder bestehen
 

diggaa1984

Top Contributor
Jop wär auch ne maßnahme. Brauchen wir nur noch ne Lösung für die Abbildung der Schaltung in einer Datenstruktur ^^
 
S

SlaterB

Gast
im einfachen Falle hat eine Parallelschaltung genau zwei Unterelemente die man in einzelnen Variablen speichertn,

wenn drei Dinge parallel zu schalten sind, kann man ja die erste 2er-Parallelschaltung mit dem dritten Ding neu parallel schalten
 

Leox

Mitglied
da bin ich mir nicht ganz sicher.

weiß nicht wie das in der berechnung aussieht. ob es nen unterschied gibt, wenn er alle 3 widerstände mit reinnimmt i´n die rechnung für parallelwiderstände, oder erst 2 , und dann das zusammengerechnete+den 3.


zudem wird das glaube ich etwas unübersichtlich, wenn es mehr als 3 widerstände werden, die parallel geschaltet werden sollen.
 

Leox

Mitglied
so, unglaublich aber wahr: ich hab eine fertige liste und jetzt gehts ans ´zeichnen.

Ich hoffe ein paar von euch haben noch ein bischn den Quelltext von dem anderen User im Kopf, denn ich bin da auch gerade sehr am rumraten.

Also ich hab eine Klasse gesamt:
da zeichnet er erstmal nur so nen kleinen Kreis an den anfang und guckt dann in meinem gesamtvektor nach´, was das erste Element ist und ruft dementsprechend entweder

a) widerstandzeichnen
b) seriezeichnen
c) parallelzeichnen


auf.

in diese klassen wird dann das erste element mit übernommen, welches dann wiederum ein vektor ist, so dass die abfrage aus gesamt auch nochmal dementsprechend in den einzelnen klassen (serie + parallel) abläuft.

somit hab ich schon mal garantiert, dass er die gesamte liste durchgeht und ich die liste jederzeit erweitern, verkürzen kann.


jetzt ist aber die frage, wie das ganze grafisch darstellen. wenn ne parallelschaltung nur aus 2 widerständen besteht, ist es ja noch einfach zu realisieren. aber wie krieg ich es hin, dass er es auch optisch gut hinbekommt, wenn ich z.b. eine parallelschaltung habe, die wiederum aus 2 weiteren parallelschaltungen besteht, die vielleicht wiederum aus jeweils einer serienschaltung besteht (als beispiel nur).

ich hab mir shcon bischn den anderen thread durchgelesen, aber so wirklich eine vorstellung habe ich noch nicht.

ich denke mir, dass die widerstände eine feste größe haben.
der rest ist wahrscheinlich irgendwie abhängig von der gesamtbreite und gesamthöhe des fenster, oder?

und ich hab ja jetzt vektoren in vektoren in vektoren...in einem großen vektor...wie kann ich schauen, ob in diesem gesamtvektor bestimmte andere vektoren stecken (hier halt serien oder parallelschaltungen)?

Hoffe, ihr habt noch lust mir zu helfen...
 
S

SlaterB

Gast
wenn du den Thread gelesen hast, weißt du ja, für wie schwierig ich die Sache halte ;) ,
richtig Tipps kann man daher dazu nicht geben, ein Anfänger kann sowas normalerweise nicht programmieren,

wenns dir jemand fertig verrät, nun gut, ich nicht ;)
 

diggaa1984

Top Contributor
hm also wie man da zeichnerisch das ganze schön anordnet mit nem algorithmus zu koppeln is einfach ma imho ne blöde aufgabe ^^ ... ich selbst muss auch nen stammbaum grafisch darstellen, der wenns geht auch aussieht wie einer, grobe vorstellung hab ich schon. abhängig von daten die mir da ne "ordnung" reinbringen, aber nen non-plus-ultra-universal-algorithmus gibts da sicher nich.

ich denke du solltest vielleicht pauschal Pro element (simpel wie widerstand) ne feste größe (höhe, breite) definieren, für parallel und reihenschaltung müsste das quasi rekursiv/iterativ wie auch immer geschehen. Wenn du ne parallelschaltung der art hast: Parallel{W1,Parallel{W3,Reihe{W4,W5}},W2} .. dann würdest die Höhe aller Teile berechnen, wobei das Teil auch ne Parallelschaltung sein könnte, was mich an nen Vorredner-post erinnert der meinte, das Widerständen wie auch Parallel und Reihe von der selben Oberklasse erben.

Ne klare, code-lastige Vorstellung kann ich grad nich liefern, da habsch grad keine zeit zu, aber vielleicht hilft das schon n stück
 

Leox

Mitglied
ja ich komm der sache immer näher. immerhin hab ich es schon so weit, dass wenn er ne parallelschaltung hat, er die symbole symmetrisch anordnet...so langsam aber sicher wirds was
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A suche dringend Hilfe!! Java Basics - Anfänger-Themen 6
M Suche hilfe bei Array Java Basics - Anfänger-Themen 4
M Suche Hilfe bei sehr kleinen Quelltexten Java Basics - Anfänger-Themen 2
D Erste Schritte suche hilfe für db-anbindung Java Basics - Anfänger-Themen 36
K Suche Hilfe bei einfachem Java Code ( Debuggen ) Java Basics - Anfänger-Themen 1
U Vererbung Suche Hilfe anhand eines Bsp. Java Basics - Anfänger-Themen 1
megachucky Model View Controller Pattern - Suche Hilfe bei Anwendung Java Basics - Anfänger-Themen 4
I Reflection: Suche Feld + in Unterklassen Java Basics - Anfänger-Themen 7
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
M Suche Resteasy Example Java Basics - Anfänger-Themen 24
B Beliebiger String gegeben Suche Datum in String Java Basics - Anfänger-Themen 6
M binäre Suche im Intervall Java Basics - Anfänger-Themen 6
M binäre Suche Java Basics - Anfänger-Themen 4
H Suche Java3D 32 bit Java Basics - Anfänger-Themen 20
amelie123456 Lineare Suche / Binäre Suche Java Basics - Anfänger-Themen 2
F Suche nach betreuender Person für eine Jahresarbeit der 12. Klasse. Java Basics - Anfänger-Themen 6
K Warum ist die binäre Suche bei der verketteten Liste nicht so effektiv? Java Basics - Anfänger-Themen 3
H Suche jemanden für kleine Uni-Abgabe/ mit Vergütung Java Basics - Anfänger-Themen 1
RudiRüssel Binäre Suche, unsortiert, lokales Maximum Java Basics - Anfänger-Themen 15
Y Suche von Studenten anhand Ihrer Eigenschaften. Java Basics - Anfänger-Themen 1
F Auf der Suche in π Java Basics - Anfänger-Themen 13
C Suche Nachhilfe in Java Java Basics - Anfänger-Themen 5
T Binärbaum-Suche Implementation Java Basics - Anfänger-Themen 6
N Operatoren Schreibtischtest der Reihen-Suche nach Aufschluss in die Basics Java Basics - Anfänger-Themen 1
B Suche free SVN Hosting Java Basics - Anfänger-Themen 12
S Binäre-Suche Algorithmus Java Basics - Anfänger-Themen 1
S Java Lineare-Suche Zeitmessung Java Basics - Anfänger-Themen 5
S Java Lineare Suche Java Basics - Anfänger-Themen 1
S Binäre-Suche bei unsortierten Daten Java Basics - Anfänger-Themen 7
E Die richtige Suche in der API Java Basics - Anfänger-Themen 1
S suche nach varible POSITION ... fuer das pixel-maennchen Java Basics - Anfänger-Themen 4
E Weg-Suche-Problem rekursiv Java Basics - Anfänger-Themen 12
B Suche Programme mit Fehlern Java Basics - Anfänger-Themen 9
jaleda100 Component für Suche Java Basics - Anfänger-Themen 4
L Suche ein sampel Projekt Java Basics - Anfänger-Themen 2
P Suche Aufwandsgenerator (o-notation) Java Basics - Anfänger-Themen 1
S Suche aktuelles 2D Grafik Tutorial Java Basics - Anfänger-Themen 5
L Binäre Suche mit Comparator Java Basics - Anfänger-Themen 5
J Methoden Suche effiziente Implementierung für eine Methode Java Basics - Anfänger-Themen 3
D Ich suche nach einer Möglickeit den Webseiten Inhalt per Java zu analysieren Automatisch Java Basics - Anfänger-Themen 3
B String: suche nach Wörter und in List<String> speichern Java Basics - Anfänger-Themen 3
D Erste Schritte Suche Quelltext Java Basics - Anfänger-Themen 7
M Rekursion Minimums Suche Java Basics - Anfänger-Themen 12
J Suche Hilfestellung Java Basics - Anfänger-Themen 10
G Erste Schritte Suche Java Programmierer für kleines Projekt Java Basics - Anfänger-Themen 1
J Suche die Emailadresse Java Basics - Anfänger-Themen 6
H Suche in Text und Markierung Java Basics - Anfänger-Themen 14
H Suche in einem Text Java Basics - Anfänger-Themen 17
H Erste Schritte Binäre Suche Java Basics - Anfänger-Themen 37
J Suche simples Beispiel für die EOFException Java Basics - Anfänger-Themen 1
H Rekursion Binäre Suche Java Basics - Anfänger-Themen 2
L Binäre Suche Java Basics - Anfänger-Themen 2
L Linerae Suche in einem sortierten Array Java Basics - Anfänger-Themen 2
N Array, lineare Suche, binäre Suche, Programm bleibt unerwartet stehen... Java Basics - Anfänger-Themen 6
I Innerhalb einer Methode suchen und hinzufügen. Neues Objekt in Suche dann? Java Basics - Anfänger-Themen 8
B Binäre Suche - Junit Test Java Basics - Anfänger-Themen 6
L Einfache Lineare Suche Java Basics - Anfänger-Themen 7
J Binäre Suche eines Array Java Basics - Anfänger-Themen 5
M Methoden Binäre Suche als rekursive Variante Java Basics - Anfänger-Themen 5
D Suche nach der Anzahl von Zonen zwischen zwei Punkten Java Basics - Anfänger-Themen 2
M Benutzerdefinierte Suche in einem String - outofbounds Java Basics - Anfänger-Themen 7
X Best Practice SUCHE ein gutes Javabuch! (kein Anfang von 0) Java Basics - Anfänger-Themen 5
B Binäre Suche in einem String Array Java Basics - Anfänger-Themen 10
A Heap Space Error bei rekursiver Suche in Dateien trotz nur einer Zeile im Speicher Java Basics - Anfänger-Themen 26
M Rekursive Suche in einem Feld Java Basics - Anfänger-Themen 11
S Suche richtigen Typ für Variabel mit den Werten (neu, gebraucht, beschädigt) Java Basics - Anfänger-Themen 7
M Best Practice Programmierstil Graphen-A*-Suche Java Basics - Anfänger-Themen 5
E Suche Klasse die eine Bedinung prüft und einen von zwei Auswahlwerten zurückgibt... Java Basics - Anfänger-Themen 6
S Java Servlet - Suche Java Basics - Anfänger-Themen 1
P Hashing suche Java Basics - Anfänger-Themen 4
J Variablen Auf der suche nach einem Befehl Java Basics - Anfänger-Themen 2
M Binäre Suche Fehler überall =( Java Basics - Anfänger-Themen 2
Farbenfroh Suche Übungsaufgaben: BinaryTree, Stack Java Basics - Anfänger-Themen 0
D Binärbaum Suche Java Basics - Anfänger-Themen 5
L Suche Programmier-Projekt mit Anleitung Java Basics - Anfänger-Themen 3
A Suche Programmierer für Android App Java Basics - Anfänger-Themen 1
H Suche Vergleichstabelle für die Klassen String und StringBuilder Java Basics - Anfänger-Themen 1
X [SUCHE]Mitentwickler Java Basics - Anfänger-Themen 10
P Methoden suche funktion die char wert ausgibt wenn man numerischen wert und radix angibt Java Basics - Anfänger-Themen 1
D Binare Suche Java Basics - Anfänger-Themen 1
C Erste Schritte Bereich angeben bzw Fehler Suche Java Basics - Anfänger-Themen 6
L Suche in dreidimensionalen Arrays Java Basics - Anfänger-Themen 3
P Lineare Suche im Array Java Basics - Anfänger-Themen 5
X verschachtelte suche Java Basics - Anfänger-Themen 8
T Sortieren/Suche klappt nicht ganz (String Array) Java Basics - Anfänger-Themen 2
S Erste Schritte Suche nach einem guten JAVA-Buch (Definition im Thread) Java Basics - Anfänger-Themen 6
G suche den Begriff & wie programmiere ich sowas (ich ändere den Titel dann) Java Basics - Anfänger-Themen 2
M suche/brauche Links über rein GUI Beispielprogramme Java Basics - Anfänger-Themen 4
I Suche Component welches Map ähnelt Java Basics - Anfänger-Themen 11
D Binäre Suche für Integerarray in rekursiver Funktion Java Basics - Anfänger-Themen 5
G Erste Schritte Suche nach Zeichenkette Java Basics - Anfänger-Themen 26
steffomio Suche brauchbares I18N Lib Java Basics - Anfänger-Themen 4
J Suche Tipps zum erstellen von Algorithmen Java Basics - Anfänger-Themen 5
D Artikel-Suche implementieren Java Basics - Anfänger-Themen 7
S suche nach eclipse plug-in Java Basics - Anfänger-Themen 3
W Compiler-Fehler Binäre Suche Java Basics - Anfänger-Themen 2
R Suche Regex Ausdruck für HTML Java Basics - Anfänger-Themen 11
K Suche geeignete Code-Beispiele Java Basics - Anfänger-Themen 4
P Suche Java Programme mit gutem/anfängertauglichem Quellcode Java Basics - Anfänger-Themen 8
I Suche Compiler in Java SDK Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben