Matrix für dummies?

Status
Nicht offen für weitere Antworten.
L

Lain

Gast
Ich möchte ein Matrix programm schreiben bzw. meine Pflicht ist es ein zu schreiben.
Das verschieden große Matrixfelder erstellt,
erst soll gefragt werden wie groß die Matrix sein soll (das müsste ich soweit haben, mit den spalten und zeilen).

Nun weiß ich nicht wie ich die matrix schreiben soll.
Also die zeilen und spalten.
(5)
Z.B bei einer matrix[0][2] -> a (7)
(0)

wie schreibe / speicher ich die zahlen ab?




Code:
import java.util.*;

class Matrix {
	static int x, y; //important, because you have to read the matrix 
	static String s;  //important, because my InteractivIO wants a STRING!	
	
	static double [][]matrix; //important for the matrix (2dimensions [m=rows][n=coloms])

	
	
//----------------------------------------------------------------------------------------------
	 Matrix (int m, int n)throws Exception { //create a M-by-N matrix
		x=m;
		y=n;
		matrix = new double [m][n];	
	}
	
//--------------------------------------------------------------------------------------------	
	public String toString() {
		printMatrix(matrix);
		return s;
	}
	
	public void printMatrix(double [][]matrix){
		int m = matrix.length; 	//Rows
		System.out.println();
		for(int i=0; i<m; i++){
			int n = matrix[i].length;
			System.out.print("[ ");
			
			for(int j=0; j<n; j++){
				System.out.print(matrix[i][j]+" ");
			}
			System.out.println("]");
		}
	}
//--------------------------------------------------------------------------------------------	
	
	public void setElement(int i, int j, double k){
		
	}
	
	public void getElement(int i, int j){
		
	}
	
	public void add (Matrix mat){

	}
	
	public void multiply(Matrix mat){
		
	}
//--------------------------------------------------------------------------------------------
	
	public static void main (String[]args) throws Exception {
		Matrix A,B; //for the matrix
		Matrix C; //for addition and multiplication, result matrix
		A= new Matrix(x,y);
		B= new Matrix(x,y);
		C= new Matrix(x,y);		
		
		InteractivIO.write("Please write the demnision of the matrix, Coloumn and Rows");
		y=InteractivIO.readInt("Colomns: ");
		x=InteractivIO.readInt("Rows: ");
		
		InteractivIO.write("Please write the unkonws in the first coloumn");
		
		A.toString();
		B.toString();
		C.toString();				
	}
	
}//end
[/code]
 
S

SlaterB

Gast
public void setElement(int i, int j, double k){
matrix[j] = k;
}

public double getElement(int i, int j){
return matrix[j];
}
 
L

Lain -.-

Gast
Das war's oO? (ich dachte da an for schleife und liste ect.)
Eine doofe Frage, wie soll ich das mit dem einlesen von der Tastatur machen for i, j?

Problem ist ja die Matrix kann ja verschieden groß sein und ich muss ja alles einlesen lassen von der Tastatur ....
 
S

SlaterB

Gast
lies n Zeilen ein, in denen jeweils m Zahlen stehen,
bei falschen Format dem Benutzer das mitteilen
 
G

Guest

Gast
Z.B möchte ich so eine Matrix erstellen (was später in der aufgabe 3 verlangt ist)
my.php


Soweit ich verstanden habe, habe ich schon den aufbau der matrix, wenn ich das richtig bei mir sehe...
nun muss ich die füllen, genau da hängt es gerade ....

lies n Zeilen ein, in denen jeweils m Zahlen stehen,
bei falschen Format dem Benutzer das mitteilen
Also eine For schleifen, und dazu noch eine liste ... ?[/quote]
 
G

Guest

Gast
Z.B möchte ich so eine Matrix erstellen (was später in der aufgabe 3 verlangt ist)
my.php


Soweit ich verstanden habe, habe ich schon den aufbau der matrix, wenn ich das richtig bei mir sehe...
nun muss ich die füllen, genau da hängt es gerade ....

lies n Zeilen ein, in denen jeweils m Zahlen stehen,
bei falschen Format dem Benutzer das mitteilen
Also eine For schleifen, und dazu noch eine liste ... ?
 
S

SlaterB

Gast
wenn da steht 'testen', dann mache das doch erstmal,
gib den Inhalt der Matrix im Code an,

später kannst du immernoch die Benutzereingabe bauen

> Also eine For schleifen, und dazu noch eine liste ... ?

eher zwei for-Schleifen ohne Liste,
aber wie immer: fange klein an,

übe erstmal eine Zahl einzulesen,
dann zwei in einer Zeile (wie trennen?),
dann beliebig viele in einer Zeile,
dann erst zu mehreren Zeilen übergehen
 
L

Lain

Gast
das geschieht dann alles in der man?
also die werte reinschreiben oder doch in der set-methode?
 
S

SlaterB

Gast
mir ist das egal, du musst wissen was du schön oder nicht schön findest,
im Grunde könnte das ganze Programm in der main stehen,

Unterklassen + -operationen strukturieren
 
V

verzweiflung pur ...

Gast
Please write the matrix, Coloumn and Rows
Colomns:
1
Rows:
1
Please write the unkonws in the first coloumn
First unknow
1
First unknow
0
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at Matrix.setElement(Matrix.java:42)
at Matrix.main(Matrix.java:76)



Ich hab echt keine Ahnung mehr :cry:

Code:
//import java.util.*;

class Matrix {
	static int x, y; //important, because you have to read the matrix 
	static String s;  //important, because my InteractivIO wants a STRING!	
	static int unknowsX;
	static int unknowsY;
	
	static double [][]matrix; //important for the matrix (2dimensions [m=rows][n=coloms])

	
	
//----------------------------------------------------------------------------------------------
	 Matrix (int m, int n)throws Exception { //create a M-by-N matrix
		x=m;
		y=n;
		matrix = new double [m][n];	
	}
	
//--------------------------------------------------------------------------------------------	
	public String toString() {
		printMatrix(matrix);
		return s;
	}
	
	public void printMatrix(double [][]matrix){
		int m = matrix.length; 	//Rows
		System.out.println();
		for(int i=0; i<m; i++){
			int n = matrix[i].length;
			System.out.print("[ ");
			
			for(int j=0; j<n; j++){
				System.out.print(matrix[i][j]+" ");
			}
			System.out.println("]");
		}
	}
//--------------------------------------------------------------------------------------------	
	
	public void setElement(int i, int j, double k)throws Exception{
		matrix[i][j] = k;
	}
	
//--------------------------------------------------------------------------------------------	
	public double getElement(int i, int j){
		return matrix[i][j];
	}
	
//---------------------------------------------------------------------------------------------	
	public void add (Matrix mat){

	}
	
//--------------------------------------------------------------------------------------------	
	public void multiply(Matrix mat){
		
	}
//--------------------------------------------------------------------------------------------
	
	public static void main (String[]args) throws Exception {
		Matrix A,B; //for the matrix
		Matrix C; //for addition result matrix
		A= new Matrix(x,y);
		B= new Matrix(x,y);
		C= new Matrix(x,y);		
		
		InteractivIO.write("Please write the matrix, Coloumn and Rows");
		y=InteractivIO.readInt("Colomns: ");
		x=InteractivIO.readInt("Rows: ");
		
		InteractivIO.write("Please write the unkonws in the first coloumn");
		unknowsX=InteractivIO.readInt("First unknow");
		unknowsY=InteractivIO.readInt("First unknow");
		
		A.setElement(unknowsX, unknowsY, 0);
		
		InteractivIO.write(A.toString());
		InteractivIO.write(B.toString());
		InteractivIO.write(C.toString());				
	}
	
}//end
 
S

SlaterB

Gast
in einem Array der Länge 1 ist der einzig erlaubte Index die 0,
Index 1 geht nur in einem Array der Länge 2 oder größer
 
L

Lain again

Gast
Code:
//import java.util.*;

class Matrix {
	static int x, y; //important, because you have to read the matrix 
	static String s;  //important, because my InteractivIO wants a STRING!	
	static int unknowsX;
	static int unknowsY;
	
	static double [][]matrix; //important for the matrix (2dimensions [m=rows][n=coloms])

	
	
//----------------------------------------------------------------------------------------------
	 Matrix (int m, int n)throws Exception { //create a M-by-N matrix
		x=m;
		y=n;
		matrix = new double [m][n];	
	}
	
//--------------------------------------------------------------------------------------------	
	public String toString() {
		printMatrix(matrix);
		return s;
	}
	
	public void printMatrix(double [][]matrix){
		int m = matrix.length; 	//Rows
		System.out.println();
		for(int i=0; i<m; i++){
			int n = matrix[i].length;
			System.out.print("[ ");
			
			for(int j=0; j<n; j++){
				System.out.print(matrix[i][j]+" ");
			}
			System.out.println("]");
		}
	}
//--------------------------------------------------------------------------------------------	
	
	public void setElement(int i, int j, double k)throws Exception{
		matrix[i][j] = k;
	}
	
//--------------------------------------------------------------------------------------------	
	public double getElement(int i, int j){
		return matrix[i][j];
	}
	
//---------------------------------------------------------------------------------------------	
	public void add (Matrix mat){

	}
	
//--------------------------------------------------------------------------------------------	
	public void multiply(Matrix mat){
		
	}
//--------------------------------------------------------------------------------------------
	
	public static void main (String[]args) throws Exception {
		Matrix A,B; //for the matrix
		Matrix C; //for addition result matrix
	
		InteractivIO.write("Please write the matrix, Coloumn and Rows");
		y=InteractivIO.readInt("Colomns: ");
		x=InteractivIO.readInt("Rows: ");
		System.out.println("Creating Matrixes");
		
		A= new Matrix(x,y);
		B= new Matrix(x,y);
		
		for(int i=0;i<x;i++){
			   for(int j=0;j<y;y++)
				   A.setElement(i,j,InteractivIO.readInt("Please Enter next:"));
		}
		
		C= new Matrix(x,y);	
		
		InteractivIO.write(A.toString());
		InteractivIO.write(B.toString());
		InteractivIO.write(C.toString());				
	}
	
}//end

ich hab da eine endlos schlafe, wieso weiß ich nicht :(
 
G

Gast

Gast
ok gemacht, nun macht der soetwas -.-

4x4

[ 0.0 0.0 0.0 ]
[ 0.0 0.0 0.0 ]
[ 0.0 0.0 0.0 ]
null
[ 0.0 0.0 0.0 ]
[ 0.0 0.0 0.0 ]
[ 0.0 0.0 0.0 ]
null
[ 0.0 0.0 0.0 ]
[ 0.0 0.0 0.0 ]
[ 0.0 0.0 0.0 ]
null
 
S

SlaterB

Gast
dein Programm hängt von Benutzereingaben ab und ist damit für jedermann untestbar/ deine Fehler nicht reproduzierbar,
ich habe dir von Anfang an gesagt, lasse diese (vorerst) weg,

und werde solange nicht mehr antworten ;)
 
G

Guest

Gast
SlaterB hat gesagt.:
dein Programm hängt von Benutzereingaben ab und ist damit für jedermann untestbar/ deine Fehler nicht reproduzierbar,
ich habe dir von Anfang an gesagt, lasse diese (vorerst) weg,

und werde solange nicht mehr antworten ;)

So hab das nun gemacht wie du wolltest, hat geklappt.
Nun hab ich das mit der Eingabe auch.
Problem hier ist...
meine eine Matrix A wird von der Matrix B überschrieben.
Davor hatte ich aber nur die Matrix A bei der normalen Ausführung.
Nun hab ich auch eine weitere ....

Please write the matrix, Coloumn and Rows
Colomns:
2
Rows:
2
Creating Matrixes
Please Enter next: (0)(0)
1
Please Enter next: (0)(1)
1
Please Enter next: (1)(0)
3
Please Enter next: (1)(1)
5

[ 1.0 1.0 ]
[ 3.0 5.0 ]
null
Please Enter next: (0)(0)
5
Please Enter next: (0)(1)
3
Please Enter next: (1)(0)
6
Please Enter next: (1)(1)
7

[ 5.0 3.0 ]
[ 6.0 7.0 ]
null

[ 5.0 3.0 ]
[ 6.0 7.0 ] <-- hier solllte die A Matrix eigentlich stehen!
null



Code:
class Matrix {
	private static int x, y; //important, because you have to read the matrix 
	private static String s;  //important, because my InteractivIO wants a STRING!	
	private static double [][]matrix; //important for the matrix (2dimensions [m=rows][n=coloms])

	
	
//----------------------------------------------------------------------------------------------
	 Matrix (int m, int n)throws Exception { //create a M-by-N matrix
		x=m;
		y=n;
		matrix = new double [m][n];	
	}
	
//--------------------------------------------------------------------------------------------	
	public String toString() {
		printMatrix(matrix);
		return s;
	}
	
	public void printMatrix(double [][]matrix){
		int m = matrix.length; 	//Rows
		System.out.println();
		for(int i=0; i<m; i++){
			int n = matrix[i].length;
			System.out.print("[ ");
			
			for(int j=0; j<n; j++){
				System.out.print(matrix[i][j]+" ");
			}
			System.out.println("]");
		}
	}
//--------------------------------------------------------------------------------------------	
	
	public void setElement(int i, int j, double k)throws Exception {
		 	matrix[i][j] = k;
	}
	
//--------------------------------------------------------------------------------------------	
	public double getElement(int i, int j){
		return matrix[i][j];
	}
	
//---------------------------------------------------------------------------------------------	
	public void add (Matrix mat){
		
	}
	
//--------------------------------------------------------------------------------------------	
	public void multiply(Matrix mat){
		
	}
//--------------------------------------------------------------------------------------------
	
	public static void main (String[]args) throws Exception {
		Matrix A,B; //for the matrix
		Matrix C; //for addition result matrix
	
		
		InteractivIO.write("Please write the matrix, Coloumn and Rows");
		y=InteractivIO.readInt("Colomns: ");
		x=InteractivIO.readInt("Rows: ");
		System.out.println("Creating Matrixes");
		
		A= new Matrix(x,y); //
		B= new Matrix(x,y);
		
		for(int i=0;i<x;i++){
			   for(int j=0;j<y; j++)
				   A.setElement(i,j,InteractivIO.readInt("Please Enter next: (" +  i + ")(" + j + ")"));		 			   
		}		
		InteractivIO.write(A.toString());
		
		for(int i=0;i<x;i++){
			   for(int j=0;j<y; j++)
				   B.setElement(i,j,InteractivIO.readInt("Please Enter next: (" +  i + ")(" + j + ")"));		 			   
		}
		
		InteractivIO.write(B.toString());
		
		InteractivIO.write(A.toString()); //wird von B einfach überschrieben <.<
		
		C= new Matrix(x,y);		

		//InteractivIO.write(C.toString());			
	}
}//end
 
G

Gast again

Gast
langsam habe ich echt das gefühl das mich mein eclipse verarscht -.-"
jetzt nochmal neugestartet und tada da geht's auf einmal -.-"
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Matrix für Schachbrett Java Basics - Anfänger-Themen 6
M Klassenerstellung für Matrix mit Rechenopperationen Java Basics - Anfänger-Themen 42
F Welche Datenstruktur für Matrix mit Vektoren? Java Basics - Anfänger-Themen 2
I matrix aufgabe Java Basics - Anfänger-Themen 22
L Zweidimensionaler Array; n x m - Matrix überprüfuen Java Basics - Anfänger-Themen 35
C Matrix mit Array ausgeben Java Basics - Anfänger-Themen 6
idontknow707 Matrix nach z.B. Variable durchsuchen Java Basics - Anfänger-Themen 4
F Adjunkte Matrix erstellen Java Basics - Anfänger-Themen 3
M Matrix Java Basics - Anfänger-Themen 3
F Matrix Multiplikation Java Basics - Anfänger-Themen 3
B Dünn besetzte Matrix Java Basics - Anfänger-Themen 7
Al3xand3r01 Matrix, Nachbarelemente Java Basics - Anfänger-Themen 16
E Rückwärtsmultiplikation einer invertierten matrix Java Basics - Anfänger-Themen 2
U Dreiecks-Matrix mit Array Java Basics - Anfänger-Themen 3
Z Matrix Klasse mit Mehrdimensionalen Array (Addition, Multiplikation, to String) Java Basics - Anfänger-Themen 57
E 2D Array - char durch die Matrix "wandern" lassen Java Basics - Anfänger-Themen 7
M Matrix auf 4 Elemente untersuchen mit offenen Enden Java Basics - Anfänger-Themen 8
B Diskrete Faltung (Matrix) Randfälle Java Basics - Anfänger-Themen 8
M Matrix Elemente vergleichen Java Basics - Anfänger-Themen 11
N Quadratische Matrix inkl Summe Java Basics - Anfänger-Themen 8
J Methoden Moving a n integer matrix Java Basics - Anfänger-Themen 3
D Methoden Matrix Multiplikation Java Basics - Anfänger-Themen 27
O Matrix, Vektor Java Basics - Anfänger-Themen 9
H 2D Array, Symmetrische Matrix Java Basics - Anfänger-Themen 12
S Matrix spaltenweise befüllen Java Basics - Anfänger-Themen 1
T Zufällige Matrix in neue Matrix schreiben Java Basics - Anfänger-Themen 6
C Matrix-Werte werden nicht wie erwartet ausgegeben Java Basics - Anfänger-Themen 7
C Matrix erstellen Spaltensumme, Zeilensumme, Diagonale Java Basics - Anfänger-Themen 1
S Methoden Transponierte Matrix Java Basics - Anfänger-Themen 3
N Vererbung Submatrix mit Verweis auf Matrix erstellen Java Basics - Anfänger-Themen 9
J Matrix erstellen Java Java Basics - Anfänger-Themen 7
B Transponiertes Matrix Java Basics - Anfänger-Themen 12
J Überprüfen, ob eine 2D Matrix ein Baum ist Java Basics - Anfänger-Themen 5
C Matrix transponieren - Hilfe Java Basics - Anfänger-Themen 1
D Ausgabe einer Matrix mit System.out.println Java Basics - Anfänger-Themen 6
T Art 4 Felder Matrix Memory Java Basics - Anfänger-Themen 2
U Ist diese Methode zur Matrix Vektor Multiplikation korrekt ? Java Basics - Anfänger-Themen 5
L Matrix(Array) minimieren... Java Basics - Anfänger-Themen 9
E Matrix mit Vektor multiplizieren Java Basics - Anfänger-Themen 7
S eingegebene Matrix anzeigen Java Basics - Anfänger-Themen 4
G tga Datei lesen und in eine matrix umwandeln Java Basics - Anfänger-Themen 1
G Bilddaten in Matrix umwandeln Java Basics - Anfänger-Themen 1
T Eine String Matrix erstellen die eine boolean Funtion verwendet Java Basics - Anfänger-Themen 10
O Matrix Multiplizieren Java Basics - Anfänger-Themen 4
S LWJGL - Matrix vom Matrixstack laden Java Basics - Anfänger-Themen 3
T Matrix auf Symmetrie überprüfen Java Basics - Anfänger-Themen 6
V Matrix Transponieren Java Basics - Anfänger-Themen 3
V Methoden Matrix als 1D Array mit Werten füllen Java Basics - Anfänger-Themen 12
W Zweidimensionale Arrays als Matrix ausgeben Java Basics - Anfänger-Themen 8
R Matrix-Vektor-Multiplikation Java Basics - Anfänger-Themen 13
O Matrix ordnen Java Basics - Anfänger-Themen 4
M Symmetrische Matrix Java Basics - Anfänger-Themen 2
W Methoden Rang von einer Matrix mit Gauss Java Basics - Anfänger-Themen 0
U Matrix Subtrahieren Java Basics - Anfänger-Themen 12
E Input/Output convert string to two dimensional char and output = matrix Java Basics - Anfänger-Themen 2
A daten vom 1d array in 2d matrix speichern Java Basics - Anfänger-Themen 3
I Matrix überprüfen Java Basics - Anfänger-Themen 8
Z Matrix mit Vektor multiplizieren Java Basics - Anfänger-Themen 13
K Methoden Einlesen einer unbegrenzten Matrix über Konsole Java Basics - Anfänger-Themen 6
O Einlesen einer Matrix von der Console Java Basics - Anfänger-Themen 18
N Matrix/Vektoren Java Basics - Anfänger-Themen 3
N Matrix Java Basics - Anfänger-Themen 14
T Methode, die eine 2 dimensionale Matrix kopiert. Java Basics - Anfänger-Themen 16
J Matrix Java Java Basics - Anfänger-Themen 3
D 2 mehrdimensionale Matrix einlesen Java Basics - Anfänger-Themen 2
A N*N Matrix Determinante berechnen Java Basics - Anfänger-Themen 47
K Quadratische Matrix um 90° drehen Java Basics - Anfänger-Themen 5
C Programm zur Berechnung der Spur einer Matrix Java Basics - Anfänger-Themen 4
B Zeilenumbruch (zweidim. Matrix) Java Basics - Anfänger-Themen 2
O Java Matrix mal Matrix über while Schleife... Java Basics - Anfänger-Themen 10
O Transponieren einer Matrix per While-Schleife Java Basics - Anfänger-Themen 3
M Matrix - Probelm Java Basics - Anfänger-Themen 7
O 2D Matrix befüllen mit geraden Zahlen!? Java Basics - Anfänger-Themen 14
J Java Matrix befüllen Java Basics - Anfänger-Themen 5
M Matrix Matrix Multiplikation Java Basics - Anfänger-Themen 6
F Matrix Java Basics - Anfänger-Themen 11
E Array als Matrix Java Basics - Anfänger-Themen 21
G OOP Parameter Matrix Java Basics - Anfänger-Themen 2
N Matrix Klasse Java Basics - Anfänger-Themen 4
B Maske an eine Matrix anpassen Java Basics - Anfänger-Themen 5
W Matrix übergeben Java Basics - Anfänger-Themen 7
T Matrix transponieren Java Basics - Anfänger-Themen 17
W Eine Methode schreiben, ob eine Matrix eine Diagonalmatrix ist.? Java Basics - Anfänger-Themen 3
M String Datei in Float-Matrix umwandeln Java Basics - Anfänger-Themen 8
D Problem: Werte eine Matrix vergleichen! Java Basics - Anfänger-Themen 5
B Matrix Java Basics - Anfänger-Themen 2
Semox Matrix multiplizieren Java Basics - Anfänger-Themen 4
N Matrix an toString Java Basics - Anfänger-Themen 7
C Diagonale in einem NxN Matrix Java Basics - Anfänger-Themen 6
F Einträgen von Matrix zu sotieren Java Basics - Anfänger-Themen 2
D JUnit auf Matrix anwenden Java Basics - Anfänger-Themen 5
J Spezielle Matrix ausgeben ! Java Basics - Anfänger-Themen 8
S Problem bei Matrix Addition Java Basics - Anfänger-Themen 5
F matrix werte übergeben Java Basics - Anfänger-Themen 5
M Hauptdiagonale Matrix berechnen Java Basics - Anfänger-Themen 6
D Matrix .bat datei erstellen und öffnen Java Basics - Anfänger-Themen 2
J Matrix ausgeben Java Basics - Anfänger-Themen 9
N Matrix Matrix Produkt Java Basics - Anfänger-Themen 7
N prüfe ob etwas in einer Matrix steht... Java Basics - Anfänger-Themen 14
L rechtecke zeichnen anhand von matrix Java Basics - Anfänger-Themen 27

Ähnliche Java Themen

Neue Themen


Oben