Problem bei Sudoku

Status
Nicht offen für weitere Antworten.
M

MR X

Gast
Hallo alle zusammen!!!

Bin grad dabei ein Sudoku Siel zu programmieren und hab schon das erste Problem:

ich hab ne methode die mir das nächste freie Feld des 9x9 feldes zurückgibt.

bei mir schaut die Methode folgendermaßen aus:


Code:
//a ist mein Sudokuarray, dass ich vorher mit werten belegt habe

int [][] getNextEmpty()
 {
 int i,j;
  for(i=0;i<a.length;i++)
  {                                                                                      //????????
    for(j=0;j<a[i].length;j++)
    {
      if(a[i][j]==0)
     //Probeausgabe stimmt: System.out.println("Stelle frei bei " + i + "/ " +j);
    }
  }
    return a;
 }

bei der Ausführung kommt imer nur die Speicheradresse!
Was hab ich falsch gemacht????


Bin dankbar für jede Antwort.


Gruß

Bernd
 

SnooP

Top Contributor
was heißt das Speicheradresse? machst du irgendwo nen sysout von dem Sudokufeld und das ist ein Objekt? Wenn ja, dann musst du die toString-Methode des Objekts noch implementieren... oder dir ne Methode ausdenken, die du aufrufst, anstatt einfach nur das Objekt in die sysout-Methode reinzupacken.
 
S

SlaterB

Gast
wie stellst du denn fest, was die Ausgabe ist?
System.out.println() oder was?,

und was willst du stattdessen haben?
 

GrüneBohne

Mitglied
Hallo Bernd,

das Dein Konsolen-Print richtig ist, liegt daran, das Du ihn auslöst, sobald die Bedingung == 0 erfüllt ist. Du gibst aber mit Deiner Methode nicht die Werte von i und j zurück, sondern wieder das an die Methode übergebene gesamte Array.

Du müsstest Dir in der Methode ein neues Array implementieren und dort die Werte von i und j reinschreiben und dann dieses Array zurückgeben.

Gruß, Tom.
 

Johnny990

Mitglied
meinst du so????

Code:
 int [][] getNextEmpty()
 {
 int i,j;
 int tmp[][]=new int [1][1];
 
  for(i=0;i<a.length;i++)
  {                                                                                      //????????
    for(j=0;j<a[i].length;j++)
    {
      if(a[i][j]==0)
      tmp[0][0]=a[i][j];
     //Probeausgabe stimmt: System.out.println("Stelle frei bei " + i + "/ " +j);
    }

  }
    return tmp;
 }

weil da krieg ich wieder nur die speicheradresse
 
S

SlaterB

Gast
wie stellst du denn fest, was die Ausgabe ist?
System.out.println() oder was?,

und was willst du stattdessen haben?
(CODE DER AUSGABE!)
 

Johnny990

Mitglied
NOCHMAL:
ich will als rückgabewert ein zweidimensionales array haben! Schau dir doch die methodendeklaration an. und das andere soll nur ne testausgabe der koordinaten sein....
 
S

SlaterB

Gast
ja und dein bisheriger Code gibt ein zweidimensionales Array zurück,
sonst würde es ja gar nicht erst kompilieren,

deswegen machst du wahrscheinlich irgendeine unbeholfene Ausgabe
und deshalb ist dieser Code interessant, nicht (nur) die Operation an sich
 

GrüneBohne

Mitglied
Hallo Berd,

erstmal, und damit meine ich eigentlich alle(!) : "Immer schön ruhig miteinander..."

Ich glaube, das hier soll doch Spass machen, oder?!

So und zweitens:

versuch doch das mal:


Code:
int [][] getNextEmpty(int[][] a) {
     
     int tmp[][] = new int [1][2];

     for( int i = 0; i < a.length; i++ ) {                                                                                      //????????
          for( int j = 0; j < a[i].length; j++ ) {
               if( a[i][j] == 0 ) {
                    tmp[0][0]= i;
                    tmp[0][1]= j;
                    return tmp;
                }
          }
     }
     return null;
}

Das sollte doch das sein, was Du möchtest. Achte nur drauf, das Du nach dem Rücksprung prüfst, ob Du keinen NULL-Verweis zurück gekommst (dann gäbe es kein freies Feld mehr..)

Gruß, Tom.
 

Marco13

Top Contributor
Vielleicht ist das das, was er sucht. Aber FALLS das das ist, was er sucht, dann sucht er Bockmist.
(Wollte das nur mal erwähnen... :roll: )
 
S

SlaterB

Gast
egal was in dem Array drinsteht, die Ausgabe 'speicheradresse' wird sich dadurch wohl nicht verändern ;)

aber ich habe ja eine PM bekommen, ich weiß, dass ich mich raushalten soll ;)
 

GrüneBohne

Mitglied
Marco13 hat gesagt.:
Vielleicht ist das das, was er sucht. Aber FALLS das das ist, was er sucht, dann sucht er Bockmist.
(Wollte das nur mal erwähnen... :roll: )

Hallo!

Ich hab ihn so verstanden, das er wissen möchte, an welcher Position in seinem geschachtelten Array sich eine 0 befindet... da nix weiter genannt wurde, gehe ich davon aus, das ihm das erste Vorkommen wichtig ist...

was ist daran Bockmist? Erfüllt die Methode so nicht das, was er beschrieben hat?


Ich lerne auch gerne dazu!

Gruß, Tom
 

Leroy42

Top Contributor
Ich versuch auch mal zu erraten was OP eigentlich meint :D

Code:
int[] getNextEmpty(int[][] a) {
     for (int i=0; i<a.length; i++)
          for (int j=0; j<a[i].length; j++)
               if (a[i][j] == 0)
                 return new int[] {i,j};
    return null;
}
 

GrüneBohne

Mitglied
Leroy42 hat gesagt.:
Ich versuch auch mal zu erraten was OP eigentlich meint :D

Code:
int[] getNextEmpty(int[][] a) {
     for (int i=0; i<a.length; i++)
          for (int j=0; j<a[i].length; j++)
               if (a[i][j] == 0)
                 return new int[] {i,j};
    return null;
}

Hallo Leroy42,

Dein Vorschlag ist sicher der kürzere, bessere Code-Vorschlag. Danke dafür! Und durch so einen Beitrag hat garantiert jeder mehr, als von so einem hochnäsigen Hinweis wie "Bockmist"!

Gruß, Tom
 

Marco13

Top Contributor
Ich bin der beste Mensch der Welt, und kann es mir darum erlauben, hochnäsig zu sein :cool: :wink: Einen array zurückzugeben, der IMMER die feste Größe 1 (x2) hat, ist noch unsinniger, als einen Array mit der (festen) Größe 2 zurückzugeben (in einer Funktion, die vermutlich "zeitkritisch" ist, und oft aufgerufen wird, und deren Ergebnis nur kurz ausgelesen und dann weggeworfen wird) - und letzteres ist definitiv FALSCH geraten, weil der Fragesteller ja eindeutig und unmißverständlich gesagt hat
ich will als rückgabewert ein zweidimensionales array haben!
(und das ist keine Kritik an Leroy42 - der Versuch, etwas sinnvolles zu machen, und die gestellte Frage zu benatworten, sind manchmal Dinge, die sich gegenseitig ausschließen :roll: )

Wenn jemand eine Frage stellt und Hilfe dazu erwartet, sollte er auch bereit sein, sich helfen zu lassen. Das ist hier offenbar nicht der Fall, und wenn der Fragesteller nicht bereit ist, sich http://www.lugbz.org/documents/smart-questions_de.html anzusehen (und zu beherzigen), braucht er auch kein zu großes Entgegenkommen zu erwarten. ("Gebt mir gefälligst die Antwort, die ich hören will (egal, welche Frage ich gestellt habe)"). Und manchmal wird eben nicht eine Frage gestellt, sondern eine Aufgabe - so wie in diesem Thread - und das wirkt imho viel hochnäsiger.

Ich stimme dir zu, dass man sich nicht streiten sollte (Wenn man sich im Internet mit jemandem streitet, ist es egal, ob man den Streit gewinnt oder verliert: Man ist in beiden Fällen ein Idiot). Aber wenn du noch eine Weile hier bleibst, wirst du merken, dass einige Fragen den Klick nicht wert sind, der nötig ist, um den Thread zu öffnen, in dem sie stehen. Naja. Wenigstens sind die Diskussionen, die aus solchen Fragen resultieren, manchmal ganz unterhaltsam :D
 

GrüneBohne

Mitglied
Hallo Marco,

ich gebe Dir ja im Prinzip recht. Ich habe mich über Deine Bemerkung "Bockmist" geärgert, weil nicht wenigstens für mich eine nützliche Ergänzung zu erkennen war.

Deinen Link werde ich mir bei Gelegenheit auch antun, obwohl ich generell der Auffassung bin, das das auch überwiegend eine Niederschrift über normale, soziale Verhaltensweisen sein wird (was den Umgang betrifft).

Was das Einstellen von Beiträgen angeht, habe ich auch schon sehr oft festgestellt, das dort oft die Basics wohl eher nicht vorhanden sind.... Das war hier wohl auch z. T. der Fall.... aber ich erinnere mich noch sehr genau an meine Hilflosigkeit (weil auch noch nicht so lange her!). Aber keine Antwort ist für ein Forum nun auch nicht gerade ein Aushängeschild....

(mein Gott, hätte dieses Thema doch so kurz sein können ...)

Na ja, ich denke wir sind uns wieder grün :toll: , oder?!

Gruß, Tom.
 

Marco13

Top Contributor
Der Link bezieht sich weniger auf die "Netiquette" (von der man ja schon garnichtmehr erwartet, dass sie beherzigt wird, und die ich (glaubich) mit meiner Antwort auch nicht beherzigt habe :oops: ) sondern auf das Stellen von Fragen im speziellen. Unter anderem die Kritik an Threads mit Titeln, aus denen sich nicht mehr ablesen läßt, als dass der Threadersteller ein Problem hat (und nichtmal notwendigerweise eine Frage :wink: ), aber auch die Reaktion auf gut gemeinte Nachfragen und gut gemeinte Versuche, die besch... subobtimal gestellte Frage richtig zu interpretieren.
Grün bist übrigens nur du :wink: :lol:
 

Marco13

Top Contributor
Um nochmal ein bißchen zum Thema zurückzukehren: Einige der geposteten Antworten funktionieren. Allerdings hat der Threadersteller mit an Sicherheit grnzender Wahrscheinlicheit sowas gemacht wie
Code:
System.out.println(getNextEmpty());
und das GIBT nunmal die Speicheradresse (des zurückgegebenen Arrays) aus. Sowas wie
Code:
int next[] = getNextEmpty();
System.out.println(next[0]);
System.out.println(next[1]);
zusammen mit Leroy42's Implementierung, oder
Code:
int next[][] = getNextEmpty();
System.out.println(next[0][0]);
System.out.println(next[0][1]);
zusammen mir GrüneBohne's Implementierung würden vermutlich die gewünschte Ausgabe liefern. Unabhängig davon, ob diese Art der Implementierung nun sinnvoll ist oder dem Wunsch des Fragestellers entspricht....
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Sudoku mittels Backtracking Problem Allgemeine Java-Themen 6
J Swing Sudoku GUI - Problem mit MaskFormatter Allgemeine Java-Themen 4
krgewb Problem mit Umlauten und Eszett bei InputStream Allgemeine Java-Themen 3
Max246Sch Backtracking Problem Box Filler Allgemeine Java-Themen 6
NightVision402 VisualVM Startskript Problem Allgemeine Java-Themen 3
javaBoon86 Email Server Connection Problem Allgemeine Java-Themen 1
F Problem mit PDFBOX Library Allgemeine Java-Themen 1
A Java modul Problem Allgemeine Java-Themen 4
D Read JSON File Problem Allgemeine Java-Themen 9
urmelausdemeis Exception in thread "main" java.lang.Error: Unresolved compilation problem: Allgemeine Java-Themen 7
J Problem mit JasperReports Allgemeine Java-Themen 8
M log4j Problem mit jlink Allgemeine Java-Themen 19
8u3631984 Problem beim Mocken von Record Klassen Allgemeine Java-Themen 4
torresbig Website login Problem - Jsoup, wie bisher, klappt nicht! Allgemeine Java-Themen 31
P Selenium . getText Problem Allgemeine Java-Themen 9
A Jar zu Exe Problem Allgemeine Java-Themen 13
sserio Variablen Liste erstellt und ein Problem mit dem Index Allgemeine Java-Themen 6
S Folgendes Problem bei einem Programm Allgemeine Java-Themen 1
stormyark Problem beim Klassen erstellen Allgemeine Java-Themen 1
A Thread.sleep Problem Allgemeine Java-Themen 2
A Problem bei der Nachbarschafttest Allgemeine Java-Themen 11
Splayfer Problem: no main manifest attribute Allgemeine Java-Themen 3
G javamail Problem beim Empfangen von Nachrichten Allgemeine Java-Themen 3
Splayfer JDA Problem mit MessageCounter Allgemeine Java-Themen 0
Splayfer Problem mit BufferedWriter Allgemeine Java-Themen 3
F Streams als Alternative für dieses Problem ? Allgemeine Java-Themen 15
N Maven Problem mit Datenbanktreiber (H2 Embedded) Allgemeine Java-Themen 12
T Problem beim Umwandeln in eine Jar-Datei Allgemeine Java-Themen 3
B Einfach Elemente zweier Arraylisten kreuz und quer vergleichen, min und max Problem? Allgemeine Java-Themen 16
C ArrayList Problem Allgemeine Java-Themen 3
kev34 nim-Spiel problem Allgemeine Java-Themen 1
D Firebase retrieve data Problem, Child Element wird nicht angesprochen Allgemeine Java-Themen 0
G Welches Problem besteht bei den Typparametern? Allgemeine Java-Themen 5
temi Problem mit Aufrufreihenfolge bei Vererbung Allgemeine Java-Themen 3
Sumo_ow "ArrayIndexOutofBoundsException: 2" Array Problem Allgemeine Java-Themen 6
T PIM basierend auf netbeans via AnyDesk Problem Allgemeine Java-Themen 3
xGh0st2014 Problem mit Java Array Allgemeine Java-Themen 1
Kirby.exe Verständnis Problem bei Rucksack Problem Allgemeine Java-Themen 6
B Eclipse-Lombok-Problem Allgemeine Java-Themen 19
I Input/Output ObjectOutputStream - Problem Allgemeine Java-Themen 7
1 Multiple Choice Knapsack- Problem Allgemeine Java-Themen 2
kodela Problem mit strukturiertem Array Allgemeine Java-Themen 18
E Problem mit Gridlayout und Button Allgemeine Java-Themen 2
A Array Problem Allgemeine Java-Themen 8
bueseb84 Problem Allgemeine Java-Themen 0
S Problem mit Arrays Allgemeine Java-Themen 1
D Nullpointer Exception Problem Allgemeine Java-Themen 5
B Problem mit meinen Klassen Allgemeine Java-Themen 6
A HashMap Methode "get()"-Problem Allgemeine Java-Themen 28
J Problem beim Umstellen auf Java jdk 13 Allgemeine Java-Themen 3
J Problem bei Install java 13 Allgemeine Java-Themen 3
X Profitable Reise Problem Allgemeine Java-Themen 32
A Problem beim öffnen von Java-Installern Allgemeine Java-Themen 1
Dann07 Problem mit JavaMail API Allgemeine Java-Themen 26
J Problem beim Generischen Klassen und Interfaces Allgemeine Java-Themen 2
L Klassen Algorithmus für das folgende Problem entwickeln? Allgemeine Java-Themen 30
J Clear-Problem Allgemeine Java-Themen 10
B Problem zu einem Java Projekt Allgemeine Java-Themen 6
S JFileChooser Problem Allgemeine Java-Themen 4
M Traveling Salesman - MST Heuristik Problem Allgemeine Java-Themen 4
J Traveling Salesman Problem Allgemeine Java-Themen 14
E Java Editor Problem mit 2er Exceptions Allgemeine Java-Themen 12
C code oder Bibliotheken für 2-Center Problem Allgemeine Java-Themen 4
M Salesman Problem - Bruteforce Algorithmus Allgemeine Java-Themen 23
S Methoden Problem mit NullPointerException Allgemeine Java-Themen 9
Javafan02 Problem mit if-clause Allgemeine Java-Themen 17
J Lombok Problem mit Konstruktoren bei Verberbung Allgemeine Java-Themen 1
kodela Event Handling Problem mit der Alt-Taste Allgemeine Java-Themen 16
W Threads Problem Allgemeine Java-Themen 15
D (Verständnis-)Problem mit Unterklasse Allgemeine Java-Themen 4
S Problem mit Generic bei unmodifiableCollection Allgemeine Java-Themen 4
S jserialcomm Problem Allgemeine Java-Themen 1
Flynn Thread-Problem... Allgemeine Java-Themen 2
J Generische Interface - Problem Allgemeine Java-Themen 3
G Problem beim GUI Allgemeine Java-Themen 9
L Applet Problem "security: Trusted libraries list file not found" ? Allgemeine Java-Themen 7
A OOP Problem beim Berechnen der größten Fläche eines Ringes Allgemeine Java-Themen 19
T Problem mit externen Datenbankzugriff über SSH Tunnel Allgemeine Java-Themen 4
F Problem beim Einlesen einer Textdatei Allgemeine Java-Themen 12
S Java OpenOffice Problem mit Windows-Benutzerwechsel Allgemeine Java-Themen 19
K Threads RAM Problem Allgemeine Java-Themen 20
P Operatoren Problem mit Zähler in recursiver Schleife Allgemeine Java-Themen 2
C Int Problem Allgemeine Java-Themen 8
C J2V8 NodeJs Java Bride Problem und Frage!?!? Allgemeine Java-Themen 1
J Problem bei Hashmap Key-Abfrage Allgemeine Java-Themen 4
C Webseiten Programm problem Allgemeine Java-Themen 5
M LocalDate Problem Allgemeine Java-Themen 4
J "Problem Objektorientierung" Allgemeine Java-Themen 20
geekex Problem Meldung! Was tun?! Allgemeine Java-Themen 19
T Klassen Override Problem Allgemeine Java-Themen 7
L Unbekanntes Problem Allgemeine Java-Themen 1
FrittenFritze Problem mit einer JComboBox, Event temporär deaktivieren Allgemeine Java-Themen 11
Blender3D Java Swing Programm Windows 10 Autostart Problem Allgemeine Java-Themen 2
F HTTPS Zertifikat Problem Allgemeine Java-Themen 3
M OpenCV KNearest Problem Allgemeine Java-Themen 0
Tommy Nightmare Project Euler: Problem 22 Allgemeine Java-Themen 2
C Abstrakte Klasse, lokale Variable-Problem Allgemeine Java-Themen 1
N Vererbung Design-Problem mit vorhandenen, von der Klasse unabhängigen Methoden Allgemeine Java-Themen 12
P Eclipse Projekt anlegen macht Problem Allgemeine Java-Themen 1
RalleYTN META-INF/services Problem Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben