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,ich gebe meine manuelle werte mit Scanner(System.in) im consol. Diese werte sind aber nicht vom meinem program erkannt. Was sollte daran problem?
z.B bei diesem matrizen program wollte ich die elemente von matrizen mit Scanner scan= new Scanner(System.in) matr[j]=scan.nextInt(), geben. ICh kann die matrizen erstellen , abeer das program nimmt die werte von diesen matrizen keinen wert.
Zeige doch bitte mal deinen Code...
Meinst du sowas:
Java:
int[][] matr = new int[2][2];
Scanner sc = new Scanner(System.in);
for (int i = 0; i < matr.length; i++) {
for (int j = 0; j < matr.length; j++) {
matr[i][j] = sc.nextInt();
}
}//Ausgabe zur Veranschaulichung dass es geht :D
System.out.println("Ausgabe: ");
for (int[] is : matr) {
for (int i : is) {
System.out.print(i + " ");
}
System.out.println();
}
Zeige doch bitte mal deinen Code...
Meinst du sowas:
Java:
int[][] matr = new int[2][2];
Scanner sc = new Scanner(System.in);
for (int i = 0; i < matr.length; i++) {
for (int j = 0; j < matr.length; j++) {
matr[i][j] = sc.nextInt();
}
}//Ausgabe zur Veranschaulichung dass es geht :D
System.out.println("Ausgabe: ");
for (int[] is : matr) {
for (int i : is) {
System.out.print(i + " ");
}
System.out.println();
}
das konnte ich vom consol eingeben. das program konnte aber nicht auslesen.
Vorher habe ich in einem anderen Program mit String versucht. Obwohl das code richtig und mit normalen String funktionierte, hat es mit diesem Scanner nicht funktioniert.
For the love of god, please don't use google translator (or at least not if you speak english) :/
Ich würde ja gerne noch etwas zum Thema beitragen, nur ich verstehe nicht was die Frage meint.
Ich entschlüssel mal was ich daraus verstehe:
"Das Problem kann ich dann lösen, indem ich Scanner in eine eigene Methode geschrieben wird?"
Nope das ist nicht das Problem, die Main-Methode ist auch eine Methode also steht das ganze logischerweise immer in einer Methode. Aber schau dir mal deinen Code an und den, denn du als antwort von eRaaaa bekommen hast.
Du übergibst deiner Methode ein array und überschreibst es sofort wieder:
Java:
public void matriz(int [][]matr){
matr=new int[dimension][dimension];
...
das macht keinen Sinn, mit den Parametern sollst du arbeiten und diese nicht einfach überschreiben, da kannst du diesen auch wegfallen lassen. Zudem stellt sich mir hier noch die Frage: woher kommt [c]dimension[/c]. Auch wäre nicht verkehrt gewesen, wenn du gezeigt hättest, wie und ob du scan richtigi initalisiert hast (da du keinen Nullpointer bekommen hast [nehm ich mal an] sollte das aber stimmen).
Schau dir eRaaaas verbesserung mal an. Die hat ja so zieml. 90% von deinem Code übernommen, unnötiges rausgeschmissen und einige Dinge klarer gemacht.
Mit einer eigenen Methode hat das nicht wirklich etwas zu tun, du kannst auch alles in die Main-Methode reinschreiben, wovon ich dir aber stark abraten würde ;-)
Ok. jetzt habe ich verstanden, wo mein fehler ist. Ich bestimme scanner immer am Anfang und mache keine Exeption-Erklärung. Ich habe wieder versucht, wie ihr mich erzählt. dann es geht schon.
Danke euch alle.
try
{
// Code der eine Exception wirft
}
catch(Exception e)
{
}
heist den catch-Block leer lässt, dann rate ich dir, dir das schnellstens abzugewöhnen. Diese Exceptions sind wichtig, wird eine geworfen, dann musst du darauf reagieren können. Zudem helfen Sie auch oft bugs zu finden!
am einfachste ist es wenn du in den [c]catch[/c]-Block schreibst
Java:
catch(Exception e)
{
e.printStackTrace();
}
dann bekommst du die Fehlermeldung in deiner Console angezeigt. Sollten da irgendwelche Fehler oder Fragen auftauchen die du nicht verstehst teil sie uns einfach im Forum mit und am besten mit dem passenden Quellcodeausschnitt.