Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallo hab hier ne Aufgabe zu lösen und komm da einfach net weiter:
Schreiben Sie eine Methode, welche eine Matrix von der Standardeingabe einliest
und an die aufrufende Funktion als zweidimensionales Array zurückgibt. Die einzulesende
Matrix soll dabei für jede Zeile der Matrix eine Zeile in der Eingabe erhalten, in
der jeweils die einzelnen Elemente der Zeile durch ein einzelnes Leerzeichen getrennt
wird. Das Ende einer Matrix wird durch eine Leerzeile markiert.
Ich verstehe ja vielleicht noch wie das gehen soll, wenn die Zeilen u. Spaltenzahl bestimmt ist, aber so...
Die Eingabe ist z.B. "1 2 3 4 5 6 7 8 9"
Dies liest du als String von der Standardeingabe, dann nimmst du einen StringTokenizer.
Jetzt kannst du mit countTokens() (oder so ähnlich) abfragen wieviele tokens (in diesem Fall also Zahlen) es gibt.
=> damit hast du schonmal die Anzahl der Spalten
Da du die Anzahl Zeilen nicht kennst könnte man z.B. immer ein eindimensionales Array erstellen mit den Werten einer Zeile und das dann in eine LinkedList schreiben. Wenn die Eingabe dann beendet ist kann man aus der LinkedList dann ein 2-Dimensiones Array erstellen.
Ok. Danke. Das habe ich jetzt mal soweit erstellt:
Code:
import java.io.*;
import java.util.StringTokenizer;
public class MatrixMult
{
public static void main (String[] args) throws IOException
{
BufferedReader eingabe = new BufferedReader (new InputStreamReader(System.in));
String str;
str = eingabe.readLine();
StringTokenizer st = new StringTokenizer(str);
int m;
m = st.countTokens();
String[] result = new String[m];
int[]result2 = new int[m];
int i = 0;
while (st.hasMoreTokens())
{
result[i++] = st.nextToken();
}
for(i=0;i<m;i++)
{
result2[i]=Integer.parseInt(result[i]);
}
System.out.println();
for(i=0;i<m;i++)
{
System.out.print(result2[i]);
}
}
}
Aber wie ich auf sie Zeilenanzahl kommen soll verstehe ich immer noch net genau. Hab mir mal ein paar Listen angesehen in google und muss zugeben dass ich mit der Syntax etwas überfordert bin.
Bitte um weitere Hilfe.