lisa1 Geschrieben 29. Juli 2008 Geschrieben 29. Juli 2008 Wo ist der Fehler an der Syntax oder ist die Textdatei falsch im Programmordner? Das Programm kann nicht ausgeführt werden. public class te { public static int [][]tempArray; public static void readData (){ In.open("f.txt"); int size = In.readInt(); tempArray = new int[2]; int in = 0; for (int i = 0; i < size; i++){ in = In.readInt(); tempArray [0] = in; in = In.readInt(); tempArray [1] = in; } In.close(); } public static double mittelwert(){ int sum = 0; for(int i = 0; i < tempArray.length; i++){ sum = sum + tempArray[1]; } double res = sum /((double)tempArray.length); return res; } public static int maxId(){ int maxIndex = 0; for (int i = 0; i < tempArray.length; i++){ if(tempArray[maxIndex][1]< tempArray[1]){ maxIndex = i; } } return tempArray[maxIndex][0]; } public static int minId(){ int minIndex = 0; for (int i = 0; i < tempArray.length; i++){ if (tempArray[minIndex][1] > tempArray[1]); minIndex = i; } return tempArray[minIndex][0]; } public static void main(String[] args) { // TODO Auto-generated method stub readData(); double m = mittelwert(); Out.println("Mittelwert: " + m); int minid = minId(); Out.println("Id mit dem kleinsten Wert: " + minid); int maxid = maxId(); Out.println("Id mit dem grössten Wert : " + maxid); } } Zitieren
flashpixx Geschrieben 29. Juli 2008 Geschrieben 29. Juli 2008 Benutze bitte die Codetags, du kannst Deinen Quellcode auch formatieren und aussagekräftige Variablenbezeichnungen verwenden. Anbei die Fehler die mir "javac" liefert, wenn ich versuche Deinen Code zu kompilieren: te.java:5: cannot find symbol symbol : variable In location: class te In.open("f.txt"); ^ te.java:6: cannot find symbol symbol : variable In location: class te int size = In.readInt(); ^ te.java:10: cannot find symbol symbol : variable In location: class te in = In.readInt(); ^ te.java:12: cannot find symbol symbol : variable In location: class te in = In.readInt(); ^ te.java:16: cannot find symbol symbol : variable In location: class te In.close(); ^ te.java:51: cannot find symbol symbol : variable Out location: class te Out.println("Mittelwert: " + m); ^ te.java:53: cannot find symbol symbol : variable Out location: class te Out.println("Id mit dem kleinsten Wert: " + minid); ^ te.java:55: cannot find symbol symbol : variable Out location: class te Out.println("Id mit dem grössten Wert : " + maxid); ^ 8 errors Phil Zitieren
lisa1 Geschrieben 30. Juli 2008 Autor Geschrieben 30. Juli 2008 Laufen tut es jetzt schon wenn man in der Console etwas eingibt nur holt es die Werte nicht aus der Datei und berechnet sie, auch wenn ich die f.txt Datei ins Wurzelverzeichnis kopiere. gruss e.w. Zitieren
flashpixx Geschrieben 30. Juli 2008 Geschrieben 30. Juli 2008 Post Deinen lauffähigen Code einmal. Phil Zitieren
lisa1 Geschrieben 30. Juli 2008 Autor Geschrieben 30. Juli 2008 mein lauffähiger code ist derselbe nur schaffe ich es noch nicht die Quelldatei zu öffnen diese habe ich im ortner scr des projektortners abgelegt wo der haken ist weiss ich nicht public class A2 { public static int [][]tempArray; public static void readData (){ In.open("f.txt"); int size = In.readIpublic class te { public nt(); tempArray = new int[size][2]; int in = 0; for (int i = 0; i < size; i++){ in = In.readInt(); tempArray [i][0] = in; in = In.readInt(); tempArray [i][1] = in; } In.close(); } public static double mittelwert(){ int sum = 0; for(int i = 0; i < tempArray.length; i++){ sum = sum + tempArray[i][1]; } double res = sum /((double)tempArray.length); return res; } public static int maxId(){ int maxIndex = 0; for (int i = 0; i < tempArray.length; i++){ if(tempArray[maxIndex][1]< tempArray[i][1]){ maxIndex = i; } } return tempArray[maxIndex][0]; } public static int minId(){ int minIndex = 0; for (int i = 0; i < tempArray.length; i++){ if (tempArray[minIndex][1] > tempArray[i][1]); minIndex = i; } return tempArray[minIndex][0]; } public static void main(String[] args) { // TODO Auto-generated method stub readData(); double m = mittelwert(); Out.println("Mittelwert: " + m); int minid = minId(); Out.println("Id mit dem kleinsten Wert: " + minid); int maxid = maxId(); Out.println("Id mit dem grössten Wert : " + maxid); } } augabenstellung Gegeben ist eine Datei mit Temperaturwerten in Grad Kelvin. Die Zahl in der ersten Teile gibt an, wieviele Datenwerte in der Datei sind. Anschliessend folgen abwechslungsweise eine Identifikationsnummer und der entsprechende Temperaturwert. gruss e.w. Zitieren
flashpixx Geschrieben 30. Juli 2008 Geschrieben 30. Juli 2008 siehe: A2.java:6: ';' expected int size = In.readIpublic class te { ^ A2.java:7: invalid method declaration; return type required public nt(); ^ A2.java:8: <identifier> expected tempArray = new int[2]; ^ A2.java:10: illegal start of type for (int i = 0; i < size; i++){ ^ A2.java:17: <identifier> expected In.close(); ^ A2.java:19: illegal start of expression public static double mittelwert(){ ^ A2.java:60: ';' expected ^ A2.java:62: '}' expected ^ 8 errors Ich bitte Dich Deinen Code einmal selbst zu kompilieren, so dass er keine Fehler mehr produziert. Außerdem empfehle ich Dir Einfache Java-Beispiele Phil Zitieren
lisa1 Geschrieben 30. Juli 2008 Autor Geschrieben 30. Juli 2008 wir müssen die Datei *.txt einbinden können kein Programm für das Einlesen schreiben und dieses einbinden funktioniert nicht auch bei einfachen programmen. e.w. ich werde es aber nochmals compilieren Zitieren
flashpixx Geschrieben 31. Juli 2008 Geschrieben 31. Juli 2008 Deine Aufgabestellung besagt: Es existiert eine Datei mit diesem Format 1. Zeile: Anzahl der Werte 2. Zeile: Identcode 3. Zeile: Temperatur .... Damit enthält Deine Dateine Datei 2n+1 Zeilen (n-Anzahl der Datenwerte). Öffne somit Deine Datei mit einem Stream zu lesen (siehe Link). Lese Deine Daten, interpretiere sie richtig und lege dafür die passenden Datenstrukturen in Java an. Ermittele das Max/Min/Avg und gebe den in der Konsole aus Phil P.S.: Als Hinweis, da dies wie eine Hausaufgabe aussieht: Es wird Dir niemand ein fertiges Programm liefern Zitieren
flashpixx Geschrieben 31. Juli 2008 Geschrieben 31. Juli 2008 wir müssen die Datei *.txt einbinden können kein Programm für das Einlesen schreiben und dieses einbinden funktioniert nicht auch bei einfachen programmen. Da ich eben auf Deinen neuen Thread, der bitte nicht weiter geführt wird, geantwortet habe, möchte ich mich noch einmal auf Dein Zitat beziehen. Die Aufgabenstellung verlangt nicht explizit das Schreiben, um die Daten zu lesen, aber entweder tippst Du alle Datenwerte aus der Datei ab und codierst sie hart oder Du schreibst eine entsprechende Routine, die Dir die Daten einliest (letzteres impliziert die Aufgabenstellung). Phil Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.