Hallo Leute,
ich sitze nun schon seit Stunden an einem Problem, wo es mir einfach nicht klar werden will, wo denn das Problem überhaupt liegt. Ich erstelle eine Zufallsmatrix und will sie dann von matrTemp nach matrA, bzw. B kopieren. matrTemp ist vorhanden und ich seh keinen Grund warum matrA nicht erfolgreich übergeben wird. Wenn ich auch am Ende der Methode auf matrA zugreifen will bekomm ich nur "null", das heißt es geschieht nichts. Hat jemand eine Ahnung? Oder einen Lösungsvorschlag wie ich das ändern könnte?
Danke im Voraus
ich sitze nun schon seit Stunden an einem Problem, wo es mir einfach nicht klar werden will, wo denn das Problem überhaupt liegt. Ich erstelle eine Zufallsmatrix und will sie dann von matrTemp nach matrA, bzw. B kopieren. matrTemp ist vorhanden und ich seh keinen Grund warum matrA nicht erfolgreich übergeben wird. Wenn ich auch am Ende der Methode auf matrA zugreifen will bekomm ich nur "null", das heißt es geschieht nichts. Hat jemand eine Ahnung? Oder einen Lösungsvorschlag wie ich das ändern könnte?
Java:
import java.util.Scanner;
public class Hauptklasse
{
static Scanner scan = new Scanner( System.in );
static int[][] matrA;
static int[][] matrB;
static int [][] matrTemp;
public static void main(String[] args)
{
matAuswahl();
speichern(matrA);
System.out.println("Zweite Matrix erstellen.");
matAuswahl();
speichern(matrB);
System.out.println(matrTemp);
//Zufallsmatrix.addiere(matrA, matrB);
}
public static void matAuswahl()
{
System.out.println("Quadratische Matrix (1) oder individuelle (2)?");
int auswahl = (scan.nextInt());
if (auswahl == 1)
quadMatEingabe();
else if (auswahl == 2)
indMatEingabe();
else
{
System.out.println("Bitte geben Sie 1 oder 2 ein.");
matAuswahl();
}
}
public static void indMatEingabe()
{
System.out.println("Geben Sie den maximalen Zahlenwert ein:");
int maxZufallszahl = (scan.nextInt());
System.out.println("Geben Sie die Anzahl der Zeilen ein:");
int zeile = (scan.nextInt());
System.out.println("Geben Sie die Anzahl der Spalten ein:");
int spalte = (scan.nextInt());
matrTemp = Zufallsmatrix.erzeugeIndMat(zeile, spalte, maxZufallszahl);
}
public static void quadMatEingabe()
{
System.out.println("Geben Sie den maximalen Zahlenwert ein:");
int maxZufallszahl = (scan.nextInt());
System.out.println("Geben Sie die maximale Matrixgroesse ein:");
int matrGroesse = (scan.nextInt());
matrTemp = Zufallsmatrix.erzeugeQuadMat(matrGroesse, maxZufallszahl);
}
public static void speichern(int[][] array)
{
System.out.println("Wollen Sie die Matrix speichern? Ja (1), Nein (2)");
int auswahl = (scan.nextInt());
if (auswahl == 1)
array = matrTemp.clone();
else if (auswahl == 2)
matAuswahl();
else {
System.out.println("Bitte geben Sie 1 oder 2 ein.");
speichern(array); }
for (int fw1 = 0; fw1 < array.length; fw1++){
for (int fw2 = 0; fw2 < array[0].length; fw2++) {
System.out.print(array[fw1][fw2]+ "\t"); }
System.out.println(""); }
System.out.println("Gespeichert!");
}
}
Danke im Voraus