Java Max. Value von 2 dimensionalen Feld von Strings

Crashdowns

Ensign
Registriert
Juni 2010
Beiträge
138
Hallo zusammen,
die Überschrift klingt ein bisschen verwirred, deswegen jetzt eine kleine Erklärung wo mein Problem liegt.

Für einen Hausaufgabe haben wir Wörterbuch gegeben und eine Funktion (an der wir nichts verändern dürfen) die, die Wörter in ein 2 dimensionales Feld packt. Zum Beispiel entspricht
PHP:
dict [486][9]
, dem 10. Wort auf der 487. Seite von dict. Die Anzahl der Wörter pro Seite sind randomisiert!

Mit
PHP:
dict.length
bekomme ich ohne weitere die Anzahl an Seiten des Wörterbuchs (zum Beispiel dict.length gibt 627 aus).
Aber wie komme ich an die jeweilige Anzahl von Wörtern pro Seite?

Zum Beispiel
PHP:
dict[582][letztes Wort]



Danke schon mal für die Hilfe!
 
Zuletzt bearbeitet:
Code:
dict[486].length; //anzahl der wörter auf seite 486
dict[486][dict[486].length-1]; // letztes wort auf seite 486

notfalls kannst du auch einfach jedesmal eine neue referenz nutzen, dann liest sich das vllt einfacher

Code:
wörter = dict[486];
wörter.length;
wörter[wörter.length-1];
 
Zuletzt bearbeitet:
Wenn du mal ganz angestrengt drüber nachdenkst, kommst du von alleine drauf. ;) Überleg mal, dict scheint ein Array mit nem Array innen drin zu sein.
So nach dem Motto (bin kein Java-Progger):
Code:
Array<Array<string>> dict;
Wenn du also die Seitenanzahl mit
Code:
dict.length()
bekommst. Wie wird das wohl mit den Wörtern gehen?
 
Hi,

Für einen Hausaufgabe

1. Es heißt "für eine Hausaufgabe", nicht "für einen", das nur nebenbei ;)
2. Hier ist kein Hausaufgabenforum
3. Hausaufgaben sollen einen Lerneffekt haben - wenn wir die für dich machen hast du nichts davon
4. Suche dir die Java-Dokumentation und schaue dort nach, wie du die Länge eines Arrays herausfindest (wie z.B. hier)

VG,
Mad

Edit:

@ManOki

Super, genau das braucht er, jemand der ihm die Hausaufgaben macht... warum auch selber denken lernen :rolleyes:
 
Madman1209 schrieb:
@ManOki

Super, genau das braucht er, jemand der ihm die Hausaufgaben macht... warum auch selber denken lernen :rolleyes:

Jupp das hab ich auch gerade gedacht. Hat er doch mal schön gezeigt, was für ein toller Programmierhengst er ist. :evillol:
 
Zitat:
Zitat von Madman1209 Beitrag anzeigen
@ManOki

Super, genau das braucht er, jemand der ihm die Hausaufgaben macht... warum auch selber denken lernen
Jupp das hab ich auch gerade gedacht. Hat er doch mal schön gezeigt, was für ein toller Programmierhengst er ist.

Ihr beiden Hengste!
Es war natürlich nicht die HA einfach nur die Anzahl der Wörter pro Seite herauszufinden. Es soll ein Suchalgorithmus geschrieben werden, der max. 20% der Seiten durchsucht um ein Wort zu finden. Desweiteren eine Möglichkeit ohne compareTo() zwei Strings lexikographisch zu vergleichen (mit return 0, 1, -1). Um meine Idee des Suchalgorithmus umzusetzen brauchte ich die Wörteranzahl;) Jetzte funktioniert alles wie es soll.
Aber danke das ihr so besorgt um mich seit^^.

@ManOki
danke, hat funktioniert!

Einen schönen Tag euch allen noch!
 
Hi,

Es war natürlich nicht die HA einfach nur die Anzahl der Wörter pro Seite herauszufinden

Trotzdem war es Teil der Hausaufgabe, also erzähl hier nicht die Story vom toten Pferd.

Aber danke das ihr so besorgt um mich seit^^

Darf man das nicht? Ich zähle mindestens 10 Rechtschreibfehler (Vertipper nicht mitgerechnet) alleine in deinen beiden Posts auf der Seite - ich finde, es muss nicht sein jemandem die Hausaufgaben zu machen der offenkundig Schwierigkeiten in der Schule hat. Aber mach wie du meinst, wenn du jemanden findest, der deine Abschlußprüfung für dich schreibt, dann hast du nochmal Glück gehabt.

Ein solches Problem wirst du in der Programmierung immer wieder haben, deswegen wollten wir dir aufzeigen wie man JEDES Problem löst und nicht dieses eine SPEZIELLE Problem. War nur ein gut gemeinter Rat...aber was versteh ich schon davon, ich bin ja nur Programmierer...

VG,
Mad
 
Zuletzt bearbeitet:
ich habe quasi nur sprachkonstrukte gezeigt und nicht, wie man programmiert ... das ist ein himmelweiter unterschied! außerdem ist der code so nicht direkt lauffähig, man muss immernoch grips reinstecken.

sicher ist das kein hausaufgabenforum, aber für so simple probleme ist es verdammt schwer, eine passende lösung im internet zu finden und selbst kommt man nicht immer drauf. warum also dumm sterben, wenn man fragen kann?
 
Madman1209 schrieb:
Hi,
[...]
Ein solches Problem wirst du in der Programmierung immer wieder haben, deswegen wollten wir dir aufzeigen wie man JEDES Problem löst und nicht dieses eine SPEZIELLE Problem. War nur ein gut gemeinter Rat...aber was versteh ich schon davon, ich bin ja nur Programmierer...
[...]

Endlich mal jemand, der genauso denkt wie ich. Ich finde es auch immer wieder erschreckend, was teilweise für Fragen in Programmierforen gestellt werden, bei denen einmal kurz Nachdenken wahrscheinlich sofort die Lösung zu Tage gefördert hätte. ;)

ManOki schrieb:
sicher ist das kein hausaufgabenforum, aber für so simple probleme ist es verdammt schwer, eine passende lösung im internet zu finden und selbst kommt man nicht immer drauf. warum also dumm sterben, wenn man fragen kann?

Das ist genau das, was MadMan meint. Es wird später auch keine schon gelösten Probleme geben, die man lösen soll. Das macht ja irgendwie auch wenig Sinn.
Deswegen ist es ganz sinnvoll, wenn man sich problemorientiertes Denken angewöhnt und die Sache auch versteht, nicht nur abspeichert. Copy-und-Paste-Lösungen sind zwar schön, dumm nur wenn sich dann mal die Anforderung ändert... :D
 
DHN schrieb:
...Das ist genau das, was MadMan meint. Es wird später auch keine schon gelösten Probleme geben, die man lösen soll. Das macht ja irgendwie auch wenig Sinn.
Deswegen ist es ganz sinnvoll, wenn man sich problemorientiertes Denken angewöhnt und die Sache auch versteht, nicht nur abspeichert. Copy-und-Paste-Lösungen sind zwar schön, dumm nur wenn sich dann mal die Anforderung ändert... :D

alleine das ist schon eine ganz schön blauäugige Behauptung. 90% der Programmiertätigkeiten dürften sich um die x.te Neuerfindung irgendeines Algorithmus drehen der mit Sicherheit so oder so ähnlich schon mal irgendwo geschrieben wurde.

Nur halt patentiert, nicht dokumentiert/veröffentlicht, in der falschen Sprache oder es würde dank dem übersichtlichen www länger dauern ihn dort zu finden als ihn selbst zu schreiben. Deswegen macht es durchaus "Sinn" wenn man mit Problemen zu kämpfen hat die ein (paar Tausend) Anderer schon mal gelöst hat/haben.

Und auch wenn ich gegen Hilfen bin die einem das Selberdenken abnehmen: das was ManOki geliefert hat ist sicher keine copy&paste Lösung und Crashdowns war ja auf dem richtigen Weg, hatte wohl offensichtlich einen Hänger oder wusste nicht genau über den Aufbau von mehrdimensionalen Arrays in Java bescheid (was man ihm kaum vorwerfen kann, ohne zu wissen welchen Ausbildungsstand er eigentlich haben sollte)

Ich möchte euch mal erlebt haben wenn ihr früher vor den Mathe-Hausaufgaben gesessen habt und Mami und Papi plötzlich sagen "Kind du kannst addieren, alles andere kann man daraus ableiten, du musst nur mal ein bissl nachdenken!"... :evillol:
 
Hi,

90% der Programmiertätigkeiten dürften sich um die x.te Neuerfindung irgendeines Algorithmus drehen der mit Sicherheit so oder so ähnlich schon mal irgendwo geschrieben wurde.

Selten so einen Nonsense gelesen. Offenbar hast du absolut keine Ahnung, also gib bitte auch keine klugen Behauptungen von dir die keinerlei Substanz haben. ich bin Programmierer und das schon seit etlichen Jahren. Ich glaube kaum dass mir mein Chef Geld zahlen würde wenn es alles eh schon gäbe.

Deswegen macht es durchaus "Sinn" wenn man mit Problemen zu kämpfen hat die ein (paar Tausend) Anderer schon mal gelöst hat/haben

Wie oben schon geschrieben - nein, genau das ist es nicht. Sich die Fähigkeit anzueignen Probleme selbstständig zu lösen ist deutlich sinnvoller.

das was ManOki geliefert hat ist sicher keine copy&paste Lösung

Sondern?

oder wusste nicht genau über den Aufbau von mehrdimensionalen Arrays in Java bescheid (was man ihm kaum vorwerfen kann, ohne zu wissen welchen Ausbildungsstand er eigentlich haben sollte)

Genau deswegen habe ich ihm ja auch einen Link zum absoluten Anfängerkurs in Java gegeben in dem das bereits ganz gut geklärt wird. Der Terminus "mehrdimensional" ist in diesem Fall auch ein wenig überstrapaziert - es ist schlicht ein Array of Arrays. Wenn er also das Prinzip verstanden gehabt hätte hätte er das "innere" Array einfach auch wie ein Array behandelt und wäre auf "length" von ganz alleine gekommen.
Es gibt im Zusammenhang mit Matrizen- und Vektorprogrammierung auch noch Mehrdimensionalität, die den Namen deutlich mehr verdienen.

Ich möchte euch mal erlebt haben wenn ihr früher vor den Mathe-Hausaufgaben gesessen habt und Mami und Papi plötzlich sagen "Kind du kannst addieren, alles andere kann man daraus ableiten, du musst nur mal ein bissl nachdenken!"

Genau das hab ich dann gemacht, hab mich auf meinen Arsch gesetzt und damals OHNE Internet nur mit Büchern den Rest erarbeitet. Wenn man das einmal beherrscht gibt es kein Problem das man nicht auf diese Weise lösen kann - und das Prinzip zu verstehen ist viel mehr Wert als ein "array.length".

VG,
Mad
 
Zuletzt bearbeitet:
FunnyName schrieb:
alleine das ist schon eine ganz schön blauäugige Behauptung. 90% der Programmiertätigkeiten dürften sich um die x.te Neuerfindung irgendeines Algorithmus drehen der mit Sicherheit so oder so ähnlich schon mal irgendwo geschrieben wurde.

Nur halt patentiert, nicht dokumentiert/veröffentlicht, in der falschen Sprache oder es würde dank dem übersichtlichen www länger dauern ihn dort zu finden als ihn selbst zu schreiben. Deswegen macht es durchaus "Sinn" wenn man mit Problemen zu kämpfen hat die ein (paar Tausend) Anderer schon mal gelöst hat/haben.

Ja na gut, wenn ich nur auf unterster Ebene des Codes denke, dann mag deine Behauptung manchmal stimmen. Natürlich wird das Rad nicht jeden Tag neu erfunden.
Im übrigen ist das mit dem blauäugig nicht richtig. Ich hab braune Augen. ;) Scherz beiseite, ich arbeite schon ne ganze Weile (fast 10 Jahre :eek: ich werd alt) in dem Metier und bilde mir ein, es beurteilen zu können.

Wenn du dich jetzt mal etwas zurücklehnst und dir mal den Daseinsgrund (also das Programm, das Anwendungssystem etc.) des Codes anschaust, wirst du schnell erkennen, dass die Probleme zwar irgendwie alle gleich aussehen, es aber dennoch nicht sind.
Tjoa, und da ist es dann ganz praktisch, wenn man durch meditative Selbsterkenntnis, Ausprobieren oder manchmal auch etwas Zufall aus schon erlebten Sachen eine passende Lösung ableitet.

FunnyName schrieb:
Und auch wenn ich gegen Hilfen bin die einem das Selberdenken abnehmen: das was ManOki geliefert hat ist sicher keine copy&paste Lösung und Crashdowns war ja auf dem richtigen Weg, hatte wohl offensichtlich einen Hänger oder wusste nicht genau über den Aufbau von mehrdimensionalen Arrays in Java bescheid (was man ihm kaum vorwerfen kann, ohne zu wissen welchen Ausbildungsstand er eigentlich haben sollte)

Und gerade weil Crashdowns auf dem richtigen Weg war, bin ich der Meinung, dass man ihm den letzten Weg zur Zielerreichung nicht nehmen sollte, sondern ihn nur mit einem kleinen Wink auf diesen zurück bringt. Das Erfolgserlebnis ist dann viel intensiver.

FunnyName schrieb:
Ich möchte euch mal erlebt haben wenn ihr früher vor den Mathe-Hausaufgaben gesessen habt und Mami und Papi plötzlich sagen "Kind du kannst addieren, alles andere kann man daraus ableiten, du musst nur mal ein bissl nachdenken!"... :evillol:

Doch genau das ist mir auch widerfahren. Ich muss sagen, dass war jetzt nicht unbedingt das schlimmste, auch wenn ich es in dem Moment vielleicht gemein empfunden habe. (Eventuelle anders lautende Meinungen sollten wir dann woanders diskutieren. :D)
 
Zuletzt bearbeitet:
Madman1209 schrieb:
...Selten so einen Nonsense gelesen. Offenbar hast du absolut keine Ahnung, also gib bitte auch keine klugen Behauptungen von dir die keinerlei Substanz haben. ich bin Programmierer und das schon seit etlichen Jahren. Ich glaube kaum dass mir mein Chef Geld zahlen würde wenn es alles eh schon gäbe.

Schön dass du mir gleich mal keine Ahnung etc. unterstellst. Zeigt schön wie weit du über deinen Tellerrand hinaus schauen kannst/willst. Ich arbeite übrigends seit mehr als 10 Jahren als Software-/Anwendungsentwickler, derzeit in einem Unternehmen mehreren hundert Entwicklern.
Meine Behauptung ist also alles andere als substanzlos, sondern basiert auf Erfahrung. Wie ich auch angeführt hab' gibt es genügend (nachvollziehbare) Gründe sich mit bestehenden Problemlösungen zu beschäftigen (Patente, falsche Sprache etc.) und die laufen mir im Alltag immer wieder über den Weg.

Und natürlich ist es deutlich sinnvoller Probleme selbsständig lösen zu können. Wenn ihr aber erzählen wollt dass ihr das mit jedem Problem in eurem Leben so macht und noch nie irgendjemanden um Hilfe gefragt habt nur um euch bei der Lösung dann an den Kopf zu fassen und zu sagen "ach klar, so einfach...." dann herzlichen Glückwunsch. Erzählt mir doch noch einen vom Pferd. ;)[/QUOTE]
 
Hi,

ist mir eigentlich vollkommen egal wie lange du schon als Softwareentwickler arbeitest. Ich arbeite auch schon etliche Jahre als Softwareentwickler, auch in einem sehr großen Unternehmen. Und eine Qualifikation ist das alleine noch nicht, ich habe Kollegen die trotz Studium vorne und hinten keine Ahnung von Programmierung und Problemlösung haben, das ist also kein Argument.

Und mit einem Satz wie

90% der Programmiertätigkeiten dürften sich um die x.te Neuerfindung irgendeines Algorithmus drehen der mit Sicherheit so oder so ähnlich schon mal irgendwo geschrieben wurde.

zeigst du

a) durch den Konjunktiv, dass du es offenbar nicht aus der eigenen Erfahrungweisst und
b) dass du entweder in der falschen Firma oder im falschen Umfeld arbeitest

Es stimmt einfach de facto nicht. Punkt. Es zu behaupten macht es nicht besser oder wahrer.

Ich habe auch nie behauptet, noch niemanden um Hilfe gebeten zu haben. Aber mir ist mehr geholfen wenn man mir dann beibringt wie ich das Problem löse als das für mich zu machen.

Ende der Geschichte und genug OT.

VG,
Mad
 
Madman1209 schrieb:
Hi,

ist mir eigentlich vollkommen egal wie lange du schon als Softwareentwickler arbeitest...Und eine Qualifikation ist das alleine noch nicht...das ist also kein Argument.
...
Es stimmt einfach de facto nicht. Punkt. Es zu behaupten macht es nicht besser oder wahrer.

Ich habe auch nie behauptet, noch niemanden um Hilfe gebeten zu haben. Aber mir ist mehr geholfen wenn man mir dann beibringt wie ich das Problem löse als das für mich zu machen.


Achso aber bis zu dem Zeitpunkt deines vorherigen Posts war es noch ein Argument SW-Entwickler zu sein? ;)

Und ja die 90% waren konjunktiv weil ich die eben nur "schätzen" kann und nicht genau weiß. Ist also nur ein Gefühl. Nichtsdestotrotz Mr. de-facto bring doch mal Fakten auf den Tisch dass es nicht so ist und nicht dieses "deine Meinung ist falsch Punkt Aus!" Geschwafel. Und ob ich in der falschen Firma arbeite, kannst du ruhig meine Chefs entscheiden lassen. So einen unnötigen BS zu schreiben ohne auch nur einen Hauch über mich zu wissen zeugt einfach nur von armseliger Diskussionskultur.

Nebenbei kann man jemanden etwas beibringen indem man es ihm erklärt wie es funktioniert ("Theorie") oder es ihm zeigt ("Praxis"). Auch wenn der theoretische Ansatz der weitreichendere ist, heißt das nicht dass er immer der zielführendere ist.
 
Zurück
Oben