Hallo,
zuerst möchte ich mich kurz vorstellen: Ich studiere Elektrotechnik und habe vor mir einen einfachen Schaltungssimulator zu programmieren (ohne grafische Ausgabe). Zu Schulzeiten hab ich erste Erfahrungen mit TP gesammelt, später dann selber ein wenig in VB und C eingearbeitet. Nun probiere ich mich in Java, zusammen mit Eclipse.
Zu meinem Problem: Ich habe zunächst das Einlesen und die Ausgabe der eingelesenen Daten komplett in das main Programm geschrieben, versuche nun aber das Einlesen und die Ausgabe in eigene Klassen zu packen und dann aus der Main Klasse nur aufzurufen. Hierbei habe ich Probleme mit der Übergabe der Daten.
Hier meine Klasse Einlesen:
Das Einlesen funktioniert, dies habe ich durch die momentan als Kommentar eingebettete Ausgabe überprüft.
Nun meine Klasse Ausgabe:
Nun möchte ich in main zunächst aus Klasse Einlesen heraus die Datei input.txt einlesen, dann an main übergeben und testweise über showmatrix anzeigen: Mail sollte dabei ungefähr so aussehen:
Nur wie kann ich jetzt auf die Eingelesenen Daten aus dem Main zugreifen und dann an showmatrix zuweisen? Wenn ich mir return in der Klasse Einlesen arbeiten möchte, sagt er mir, dass ich mir Void Methode kein return einer value machen kann.
Für eure Hilfe wäre ich sehr! dankbar
MFG Silver
zuerst möchte ich mich kurz vorstellen: Ich studiere Elektrotechnik und habe vor mir einen einfachen Schaltungssimulator zu programmieren (ohne grafische Ausgabe). Zu Schulzeiten hab ich erste Erfahrungen mit TP gesammelt, später dann selber ein wenig in VB und C eingearbeitet. Nun probiere ich mich in Java, zusammen mit Eclipse.
Zu meinem Problem: Ich habe zunächst das Einlesen und die Ausgabe der eingelesenen Daten komplett in das main Programm geschrieben, versuche nun aber das Einlesen und die Ausgabe in eigene Klassen zu packen und dann aus der Main Klasse nur aufzurufen. Hierbei habe ich Probleme mit der Übergabe der Daten.
Hier meine Klasse Einlesen:
Code:
import java.io.*;
class einlesen {
public einlesen (int zeilen, int spalten){
int i = 0;
int[][] matrix;
matrix = new int [zeilen][spalten];
try {
FileReader fr = new FileReader ("input.txt");
BufferedReader br = new BufferedReader (fr);
String line;
while ((line = br.readLine())!= null) {
String[] items = line.split(" ");
for (int j = 0; j < items.length; j++) {
try {
matrix[i][j] = Integer.parseInt(items[j]);
}
catch (NumberFormatException e) {
System.out.println('?');
System.exit(-1);
}
}
if (++i == zeilen)
break;
}
}
catch (IOException e){
System.out.println ("Datei kann nicht geöffnet werden! " +e);
}
/* for (i = 0; i < matrix.length; i++){
for (int j = 0; j < matrix [i].length; j++){
System.out.print(i);
System.out.print(j);
System.out.print(": ");
System.out.print((matrix[i][j]));
System.out.print(" ");
}
}
*/
}
}
Das Einlesen funktioniert, dies habe ich durch die momentan als Kommentar eingebettete Ausgabe überprüft.
Nun meine Klasse Ausgabe:
Code:
public class showmatrix {
void doIt(int [][] matrix){
for (int i = 0; i < matrix.length; i++){
System.out.println ();
for (int j = 0; j < matrix [i].length; j++){
System.out.print(i);
System.out.print(j);
System.out.print(": ");
System.out.print((matrix[i][j]));
System.out.print(" ");
}
}
}
}
Nun möchte ich in main zunächst aus Klasse Einlesen heraus die Datei input.txt einlesen, dann an main übergeben und testweise über showmatrix anzeigen: Mail sollte dabei ungefähr so aussehen:
Code:
public class simulator {
public static void main(String[] args) {
System.out.println ("Programm gestartet");
new einlesen(3,3);
??
System.out.print("eingelesen");
showmatrix matrix = new showmatrix();
matrix.doIt( ?? );
}
}
Nur wie kann ich jetzt auf die Eingelesenen Daten aus dem Main zugreifen und dann an showmatrix zuweisen? Wenn ich mir return in der Klasse Einlesen arbeiten möchte, sagt er mir, dass ich mir Void Methode kein return einer value machen kann.
Für eure Hilfe wäre ich sehr! dankbar
MFG Silver