Sodoku vs. Beginner

Breas

Mitglied
Hallo zusammen,

ich hätte nur eine kurze Frage :)
Seit 2 Wochen beschäftige ich mich meist 2-3 Stunden täglich mit Java.
Zur Zeit versuche ich mich an einem Sodokulöser, aber anscheinend gelange ich hier zur Zeit an meine Grenzen.

Nun wollte ich gerne wissen welchen Schwierigkeitsgrad ich solch eine Sache zuordnen kann, oder ob ich einfach zu "dämlich" für Java bin ( - da ich mir sonst wohl etwas anderes suchen müsste. )

Denn das einzige was ich nach 6-7 Stunden Arbeitszeit ( das darf man auch keinem erzählen ) hingebracht habe wäre das Zeilenweise füllen eines 2d Arrays mit zufallig generierten Zahlen zwischen 1 und 9 und zwar so das keine der Zahlen doppelt genutzt wird ( ich bekam immer Stackoverflows bei vorherigen versuchen).

Was ich dabei nicht verstehe wie diese Zustande kommen da er ab und an das füllen zuende bringt ohne Overflow und nur wenn er wohl zuviele Versuche benötigt abschmiert.

Joa - das wärs auch schon:)

Vielen Dank euch
Grüsse Breas
 

newbie2009

Bekanntes Mitglied
Hey,

naja der eine lernt es schneller, der andere braucht seine Zeit. Da du aber insgesamt erst seit zwei Wochen dabei bist, würde ich mir in der Hinsicht keine sorgen machen. Wenn du nicht weiter kommst, kannst dir auch den Quellcode von anderen anschauen und versuchen ihn nachzuvollziehen und überlegen, wieso und weshalb etwas ist wie es ist :)

Bevor du dich aber an die Programmierarbeit machst, solltest du vllt in erster Linie dich mit den Algorithmen auseinandersetzen, die du zum Lösen verwenden willst. Wenn es da Klick macht, ist der Rest um Einiges einfacher.

Warum du einen Overflow bekommst, kann man dir leider ohne den entsprechenden Quellcode nicht beantworten.


Gruß

newbie
 

2piR

Mitglied
Man muss eben auch differenzieren zwischen "Java können" und "Programmierlogik können". Die ganze Javasyntax und seine Befehle zu lernen ist eine Sache, bei der du noch oft nachschlagen werden musst, aber wenn man erstmal gelernt hat, eine API zu lesen, geht das immer schneller. Auf der anderen Seite musst du ja theoretisch gar keine Programmiersprache können, um sich einen funktionierenden Programmablauf vorzustellen, das ist halt Algorithmik, Logik und "verstehen, wie ein Computer arbeitet". Schau dir zum Beispiel Sequenzdiagramme, Nassi-Shneiderman-Diagramme oder einfach Pseudocode an, in dem du auch in menschlichen Worten ein Programm formulieren kannst. Das verlangt halt Übung, öfters mal längeres Nachdenken, und dann wieder Übung.

So ein Sudokulöser ist ja ein gutes Beispiel für dieses austüfteln von Algorithmen. Überlege dir, wie löst du als Mensch ein Sudokuspiel? Welche Schritte spielen sich in deinem Gehirn ab? Und wie kannst du diese Schritte so zerlegen und aufschreiben, dass sie ein Computer abarbeiten kann? Das ist halt Tüftelei und Knobelei, aber im Optimalfall würden dir genau solche Denkspielchen auch Spaß machen. :)
 
Zuletzt bearbeitet:

Breas

Mitglied
Hallo newbie2009 und 2piR,

erstmal vielen Dank euch beiden für die Antworten :) und die Tipps.
Hat mich sehr gefreut und ich bin für jede Hilfe dankbar.
Ich werde auf jedenfall noch weiter üben und auch mal schauen ob ich bei dem ein oder
anderen Problemchen hier helfen kann.

Grüsse Breas
 

Ähnliche Java Themen

Neue Themen


Oben