Programmier - Aufgabe ohne Ahnung Hilfe :(

Hallo liebe Leute ,

ich habe ein Problem oder viele 🙁
Ich hab letztes Semester in Java einen Partner gehabt der super war und immer alles allein Programmiert hat während ich daneben saß und alles nachvollzogen jedoch nie etwas selbst geschrieben habe. Dies rächt sich jetzt damit das ich keine Ahnung habe. Ich sitze hier also mit einer Java Aufgabe ohne Ahnung gefühlt angefangen bei 0 oder so 🙁

Folgendes soll ich tun:

Zwei Konstruktoren schreiben. Der eine erhält ein Array (2 Dimensional) übergeben und soll dadurch seine Instanzvariabel baun.
Der zweite Konstruktor erhält einen String aus dem er das Array von oben fertigstellen soll.

Dann folgen noch ein haufen Methoden die ich aba selber versuchen möchte.

Mein Problem is jedoch ich habe keine Ahnung von Übergaben o.o bzw ich versteh das ganze geflecht aus Namen und Parameter irgendwie nicht.
Das zweite Problem das ich habe, wie soll ich Strings in ein int Array kriegen o.o
Und drittens in einem zweidimensionalem Array wie kann ich da auf die einzelnen Positionen des Arrays zugreifen oder auslesen o.o


bisher sind die Konstuktoren meine Codes eher bescheiden:

Java:
public class Sodoku 
{int[][] matrix;






    public Sodoku(int[][] m) {
        matrix = m;
    
    
    }
    
    
    public Sodoku(String s , int[][] matrix){
        
    new int [][] matrix = new int[][] {};
            
        
    }
 
Kannst du bitte mal die komplette Aufgabenstellung posten? Ich kann mir unter "String aus dem er das Array von oben fertigstellen soll." so gar nichts vorstellen.

Zum Array-Zugriff:

matrix[0] = 0. Stelle
matrix[0][1] = 0. Stelle der 1. Dimension, 1. Stelle der 2. Dimension
matrix[5][6] = 5. Stelle der 1. Dimension, 6. Stelle der 2. Dimension
 
Zuletzt bearbeitet:
Gerne die Aufgabenstellung für die Konstuktoren :

AufgabenstellungSchreiben Sie eine Klasse Sudoku mit zugehöriger Testklasse SudokuTest zur Darstellung undPrüfung von Sudokus. ¨Sudokus lassen sich durch 2-dimensionale int-Arrays darstellen. Deshalb sollen Sie in der KlasseSudoku das R¨atsel selbst durch ein Attribut (Instanzvariable) vom Typ ”2-dimensionales intArray“darstellen. Die (noch) nicht ausgefullten Werte stellen wir durch die Zahl 0 dar. In unserer¨Datenstruktur darf also die Ziffer 0 vorkommen.Die Klasse erh¨alt folgende Konstruktoren:
1. Konstruktor, der ein 2-dimensionales int-Array ubergeben bekommt und damit seine In- ¨stanzvariable initialisiert.
2. Kosntruktor, der aus einer ubergebenen Zeichenkette mit 81 Zi ffern das 2-dimensionale Arrayinitialisiert. Eine explizite Prufung darauf, dass die ¨ ubergebene Zeichenkette korrekte Längehat und nur aus Ziffern besteht, ist hier nicht erforderlich.
 
Ok, das machts verständlicher.

Habt ihr irgendwelche Vorgaben, wie diese Zeichenkette aussieht? Sind die einzelnen Ziffern durch Kommata o.ä. getrennt oder handelt es sich definitv um 1-stellige Zahlen?
Du brauchst also zunächst eine Schleife, welche über den kompletten String geht und Zeichen für Zeichen in eine Zahl umwandelt.
Dabei können dir die Methoden charAt(i), toCharArray() und Integer.parseInt() behilflich sein.
 
Wir haben 81 Zahlen bekommend die wir dem Konstruktor dann übergeben können von außen und diese sind immer 1-Stellig.
Ich kannte bisher nur die Methode Integer.parseInt() die habe ich mitlerweile drinnen :

Java:
public class Sodoku 
{int[][] matrix;
	String werte;




	public Sodoku(int[][] matrix) {
		this.matrix = matrix;
	


	}
	
	
	public Sodoku(String werte , int [][] matrix){
		this.werte = werte;
		this.matrix = matrix;
		
	int i = Integer . parseInt ( werte ); 
	int x;

allerdings weiß ich nicht ob ich jetzt einen langen Integer habe oder einzelne Zahlen o.o
Weil eine große Zahl währe bei 81 Zeichen im String irggendwie unpraktisch o.o

Hauptsächlich frag ich mich grad wie ich den Array erzeugen und füllen soll.
Muss ich das Array mit new machen oder nicht weil eigentlich krieg ichs ja übergeben?
 
Du bekommst kein Array übergeben, sondern einen String, aus welchem du deine Matrix/dein Array aufbauen musst.

Wenn du den String parst, kriegst du logischerweise eine einzige große Zahl. Deswegen musst du ihn auch char-weise parsen.

Java:
public int[][] matrix;

	public Main(String sudoku){
                
                //Array initialisieren
		this.matrix = new int[9][9];	

                //iterieren über den String	
		for(int i = 0; i<sudoku.length(); i++){

                       //mit sudoku.charAt(i) Zahl ermitteln und in integer parsen
		}		
	}
 

Zurück
Oben