# Eingabe Methode



## Roy_killer (21. Mai 2006)

ich brauche dringend Hilfe in folgende Code die
Methode eingabe() in folgendem gerüst:


```
public class Gauss {
    private static double[][] eingabe(){
        double[][] matrix;
        // TODO Eingabe des Gleichungssystems
        matrix = {{a11,a21,a31},{a12,a22,a32},{a13,a23,a33},{b1,b2,b3}};
        return matrix;
    }
    private static void gauss(double[][] matrix){
        matrix = gaussRueck(gaussVor(matrix));
        //Interpretiere Rueckgabematrix und Ergebnis ausgeben
    }
    private static double[][] gaussVor(double[][] matrix){
        // DO something
        return matrix;
    }
    private static double[][] gaussRueck(double[][] matrix){
        // DO something
        return matrix;
    }
   
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        gauss(eingabe());
    }
}
```

Kann mir jemand Helfen eine Eingabe methoden zu programmieren wo man die Werte Für den Matrix eingeben könnte.

Danke im Voraus


----------



## Beni (21. Mai 2006)

Hm, ein "java.util.Scanner" erstellen mit dem System.in als Argument für den Konstruktor. Und dann kannst du in irgendeiner Schleife doubles (Scanner.nextDouble) auslesen... (vielleicht zuerst noch nach höhe und breite der Matrix fragen).


----------



## Roy_killer (21. Mai 2006)

Und wie soll ich das nun in Java umwandeln.  :shock:


----------



## Beni (21. Mai 2006)

Beni hat gesagt.:
			
		

> Hm, ein "java.util.Scanner" erstellen mit dem System.in als Argument für den Konstruktor.




```
import java.util.Scanner;

...

Scanner sc = new Scanner( System.in );
```



> Und dann kannst du in irgendeiner Schleife doubles (Scanner.nextDouble) auslesen...




```
double[][] matrix = new double[5][5];

for( int x = 0; x < matrix.length; x++ ){
  System.out.println( "Nächste Reihe" );
  for( int y = 0; y < matrix[x].length; y++ ){
     double value = sc.nextDouble();
     matrix[x][y] = value;
  }
}
```



> (vielleicht zuerst noch nach höhe und breite der Matrix fragen).




```
System.out.print( "Bitte Höhe eingeben: " );
int height = sc.nextInt();

System.out.print( "Bitte Breite eingeben: " );
int width = sc.nextInt();

double[][] matrix = new double[ height ][ width ];
```


----------



## Roy_killer (21. Mai 2006)

Danke dir beni

aber wo soll ich das alles einfügen??


----------



## Roy_killer (21. Mai 2006)

was haben breiten und höhen in gleichungssytem zu zun?


die frage war in übungsblatt: Erstellen Sie in Java ein Programm zur Lösung linearer Gleichungssysteme über den reellen Zahlen R.

ist das Code total falsch??? :shock:


----------



## Beni (21. Mai 2006)

Du wolltest eine Matrix, du kriegst eine Matrix :bae: Nenn die Variablen halt anders (Anzahl Gleichungen...), und vielleicht musst du nur eine abfragen, und die andere aus der ersten berechnen. Das ist nur ein Beispiel wie das laufen könnte. Und dieser Code passt wohl am besten in "eingabe()".


----------



## Roy_killer (22. Mai 2006)

hmm ok ALSO meinst du es so:



public class Gauss { 
    private static double[][] eingabe(){ 
double[][] matrix = new double[5][5]; 

for( int x = 0; x < matrix.length; x++ ){ 
  System.out.println( "Nächste Reihe" ); 
  for( int y = 0; y < matrix[x].length; y++ ){ 
     double value = sc.nextDouble(); 
     matrix[x][y] = value; 
  } 
}
System.out.print( "Bitte Höhe eingeben: " ); 
int height = sc.nextInt(); 

System.out.print( "Bitte Breite eingeben: " ); 
int width = sc.nextInt(); 

double[][] matrix = new double[ height ][ width ];
.
.
.


----------



## Roy_killer (22. Mai 2006)

Könnte man diese auch so machen also die Eingabe der werte für Matrix:


class Eingabe der Werte
     {
      public static void main (String[] args)
        {
         int ;
	 System.out.println("Bitte geben Sie Zahlen ein");
	 a = Eingabe.IntZahl(); b = Eingabe.IntZahl();
	 c = a + b;
         System.out.println ( a + " + " + b + " = " + c );
        }
     }


Oder???


----------



## Beni (22. Mai 2006)

Also die Reihenfolge wann was gefragt wird, überlass ich mal dir. Aber IMHO macht es mehr Sinn *zuerst* die Grösse, dann den Inhalt der Matrix zu fragen :wink:

Dein anderer Code: abgesehen von dem komischen Syntax, klar ist es möglich den Benutzer zwei Zahlen eingeben zu lassen (und die Zahlen zu speichern).


----------



## Roy_killer (22. Mai 2006)

hmmm nun bin ich echt verwirrt :shock:  :?


----------



## Roy_killer (22. Mai 2006)

Hilfeeee!!!


----------



## Beni (22. Mai 2006)

```
package forum;

import java.util.Scanner;

public class Test {
    public static void main( String[] args ) {
        double[][] matrix = eingabe();
        for( double[] glg : matrix ){
            for( double d : glg ){
                System.out.print( d + " " );
            }
            System.out.println();
        }
    }
    
    public static double[][] eingabe(){
        Scanner sc = new Scanner( System.in );
        System.out.println( "Anzahl Gleichungen: " );
        int glgs = sc.nextInt();
        double[][] matrix = new double[glgs][glgs+1];
        
        for( int i = 0; i < matrix.length; i++ ){
            System.out.println( "Nächste Gleichung" );
            for( int j = 0; j < matrix[i].length; j++ ){
                matrix[i][j] = sc.nextDouble();
            }
        }
        
        return matrix;
    }
}
```

Was soll ich mehr sagen, ich bin sprachlos...


----------



## Roy_killer (22. Mai 2006)

Herr sprachlos ich bedanke mich sehr bei Ihnen.


----------

