Alle Beiträge von java_anfaenger
- Token greift nicht auf die jeweilige Datei
- Token greift nicht auf die jeweilige Datei
- Token greift nicht auf die jeweilige Datei
- Token greift nicht auf die jeweilige Datei
- Token greift nicht auf die jeweilige Datei
- Token greift nicht auf die jeweilige Datei
-
Token greift nicht auf die jeweilige Datei
habe ich auch gemerkt geändert, aber dennoch tut sich nichts ^^ private static void notenEinlesen() { try { File einOrdner = new File(ordnerEin); //alle Dateien einsehen und die Dateie Studierende weglassen File[] listdateien = einOrdner.listFiles(); for (File datei : listdateien) { if (!datei.getName().equals(file)) { //Aus Youtube Vorlesung zum einlesen der Dateien FileInputStream fileinpstr = new FileInputStream(datei); InputStreamReader inpstrre = new InputStreamReader(fileinpstr, StandardCharsets.UTF_8); BufferedReader bufr = new BufferedReader(inpstrre); String line = ""; // Die erste Zeile der .txt Datei benennen damit Programm weiß String fach = bufr.readLine(); // While solange die Noten und Matrikelnummern durchgelesen werden while ((line = bufr.readLine()) != null){ String[] tokens = line.split("\\t"); //aus der txt die Matrikelnummer entnehmen int matrikelnummer = Integer.parseInt(tokens[0]); //aus der txt die Note entnehmen String note = tokens[1]; //Note der Studenten eintragen studentobjekt.get(matrikelnummer).noteEintragen(fach, note); } fileinpstr.close(); inpstrre.close(); bufr.close(); } } } catch (IOException e) { System.out.println("Fehler"); e.printStackTrace(); } }
- Token greift nicht auf die jeweilige Datei
- Token greift nicht auf die jeweilige Datei
- Token greift nicht auf die jeweilige Datei
-
Token greift nicht auf die jeweilige Datei
Guten Tag leute... kleines Problem vorerst meine Code Abschnitte meine .txt Datei sieht so aus.. Mathematik I 800001 2,0 800002 2,3 800003 2,0 800004 1,7 800005 1,0 private static void notenEinlesen() { try { File einOrdner = new File(ordnerEin); //alle Dateien einsehen und die Dateie Studierende.txt weglassen File[] listdateien = einOrdner.listFiles(); for (File datei : listdateien) { if (!datei.getName().equals(ordnerEin)) { //zum einlesen der Dateien FileInputStream tmp = new FileInputStream(datei); InputStreamReader utf = new InputStreamReader(tmp, StandardCharsets.UTF_8); BufferedReader temp = new BufferedReader(utf); String line = ""; // Die erste Zeile der .txt Datei benennen damit Programm weiß String fach = temp.readLine(); // While solange die Noten und Matrikelnummern durchgelesen werden while ((line = temp.readLine()) != null){ String[] tokens = line.split("\\t"); //aus der txt die Matrikelnummer entnehmen int matrikelnummer = Integer.parseInt(tokens[0]); //aus der txt die Note entnehmen String note = tokens[1]; //Note der Studenten eintragen studentobjekt.get(matrikelnummer).noteEintragen(fach, note); } temp.close(); utf.close(); tmp.close(); } } } catch (IOException e) { System.out.println("Fehler"); e.printStackTrace(); } } Wie in den Kommentaren beschrieben will ich die Datei Studierende auslassen, doch das Programm greift auf die Studierende Datei zu .. file = studierende.txt ordnerEin = (wo sich studierende.txt befindet) aber auch andere .txt dateien
-
Exception Fehler java.lang.ArrayIndexOutOfBoundsException
Hat sich erledigt.. mit der Ausgabe
-
Exception Fehler java.lang.ArrayIndexOutOfBoundsException
package beuth; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; public class Student { //------------------------------------------- // Attribute private String name = ""; private int matrikelnummer = 0; private String studiengang = ""; private Map<String, String> faecherZuNoten = null; //------------------------------------------- // Konstruktor public Student(String datenZeile) throws FalscherStudiengangAusnahme { try { // Daten in Teile aufteilen String[] teile = datenZeile.split(","); // Die Teile in Attribute zuordnen bzw. bearbeiten name = teile[0]; matrikelnummer = Integer.parseInt(teile[1]); studiengang = teile[2]; // Wenn noetig, Ausnahme werfen if (!studiengang.equalsIgnoreCase("Medieninformatik") && !studiengang.equalsIgnoreCase("Technische Informatik") && !studiengang.equalsIgnoreCase("Druck- und Medientechnik") && !studiengang.equalsIgnoreCase("Screen Based Media")) { FalscherStudiengangAusnahme e = new FalscherStudiengangAusnahme(studiengang + " gehoert nicht dazu"); throw e; } faecherZuNoten = new HashMap<String, String>(); } catch (ArrayIndexOutOfBoundsException e) { throw e; } catch (NumberFormatException e) { throw e; } } //------------------------------------------- // Methoden public int getMatrikelnummer() { return matrikelnummer; } public String getName() { return name; } public String getStudiengang() { return studiengang; } public void noteEintragen(String fach, String note) { faecherZuNoten.put(fach, note); } public void setMatrikelnummer(int matrikelnummer) { this.matrikelnummer = matrikelnummer; } public void setName(String name) { this.name = name; } public void setStudiengang(String studiengang) { this.studiengang = studiengang; } public String toString() { String returnString = name + " (" + matrikelnummer + "), " + studiengang; return returnString; } public List<String> zeugnisZeilenAbrufen() { List<String> returnList = new ArrayList<String>(); returnList.add(toString()); // Faecher alphabetisch anordnen List<String> faecher = new ArrayList<String>(faecherZuNoten.keySet()); Collections.sort(faecher); // Eine Zeile fuer jedes Fach erstellen: // Name des Faches <tab> Note for (String fach : faecher) { returnList.add(fach + "\t" + faecherZuNoten.get(fach)); } return returnList; } } So siehts aus ... meine txt sieht so aus Anna Alt,800001,Medieninformatik Bob Berg,800002,Medieninformatik Carla Castor,800003,Medieninformatik Daniel Dorf,800004,Medieninformatik Eli Eiche,800005,Medieninformatik
-
Exception Fehler java.lang.ArrayIndexOutOfBoundsException
habe ich gemacht .. der Debugger funkt. nicht so wie auf dem Video .. ich kann nur sehen was er mir Rot anzeigt und die Stelle ist beim catch(){} was ich nicht verstehe.
-
Exception Fehler java.lang.ArrayIndexOutOfBoundsException
Ja die .txt ist so aufgebaut mit ",". Es funktioniert jetzt ohne Fehler nur gibt der nichts aus in der Konsole woran könnte es vermutlich liegen ?
-
Exception Fehler java.lang.ArrayIndexOutOfBoundsException
ne, teile stimmt schon deshalb ... String[] teile = datenZeile.split(","); ich splitte sozusagen in der .txt
-
Exception Fehler java.lang.ArrayIndexOutOfBoundsException
//Attribut in der Student Klasse private int matrikelnummer = 0; //Im Konstruktor ... matrikelnummer = Integer.parseInt(teile[1]); Im Main : public class MainProgramm { static String file = "./ein/Studierende.txt"; static HashMap<Integer,Student> studentobjekt = null; public static void main(String[] args) { studentenVonListe(); } public static void studentenVonListe() { studentobjekt = new HashMap<Integer, Student>(); try { FileInputStream tmp = new FileInputStream(file); InputStreamReader utf = new InputStreamReader(tmp, "UTF8"); BufferedReader temp = new BufferedReader(utf); String zeile = ""; while((zeile = temp.readLine()) != null) { Student student = new Student(zeile); studentobjekt.put(student.getMatrikelnummer(), student); } tmp.close(); utf.close(); temp.close(); } catch(IOException e) { e.printStackTrace(); } } Warum bekomme ich diesen Exception Fehler: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1 Eclipse weist auf diese Zeile : InputStreamReader utf = new InputStreamReader(tmp, "UTF8"); oder diese Zeile in der Student klasse: matrikelnummer = Integer.parseInt(teile[1]); Ich hoffe jemand kann mir da einen Tipp geben.
-
Wie kann ich eine Map erzeugen aus Daten einer anderen Klasse ?
Ich habe gerade wirklich kein Schimmer wie ich die HashMap mit den Daten aus der Datenklasse fülle ... wie komme ich denn zu den Daten von der Daten Klasse ..? for(Map.Entry<String, String> pair: studentenDaten.entrySet()) { //was kommt hier her ? } fange ich wieder so an ?
-
Wie kann ich eine Map erzeugen aus Daten einer anderen Klasse ?
Das waren nur versuche ...
-
Wie kann ich eine Map erzeugen aus Daten einer anderen Klasse ?
for(Map.Entry<String, String> pair: studentenDaten.entrySet()) { int matrikelnummer = Student.getMatrikelnummer(); String lieblingsfach = Student.getLieblingsfach(); System.out.println("Student: " + matrikelnummer + " " + "Lieblingsfach: " + lieblingsfach); } Letzter Stand Student: 0 Lieblingsfach: warum ?
-
Wie kann ich eine Map erzeugen aus Daten einer anderen Klasse ?
for(Map.Entry<String, String> pair: studentenDaten.entrySet()) { String matrikelnummer = pair.getKey().getMatrikelnummer(); String lieblingsfach = pair.getValue().getLieblingsfach(); System.out.println("Student: " + matrikelnummer + " " + "Lieblingsfach: " + lieblingsfach); } der meckert hier bei getMatrikelnummer() und getLieblingsfach() das die ein undefinierten String Typ haben
-
Wie kann ich eine Map erzeugen aus Daten einer anderen Klasse ?
Okay... dazu hätte ich echt kein Plan
-
Wie kann ich eine Map erzeugen aus Daten einer anderen Klasse ?
Das gibt aber jetzt nur key: Matrikelnummer, value: Lieblingsfach aus ? Noch keine Daten aus der Klasse Daten.java
-
Wie kann ich eine Map erzeugen aus Daten einer anderen Klasse ?
for (Entry<String, String> pair: studentenDaten.entrySet()) { System.out.format("key: %s, value: %d%n", pair.getKey(), pair.getValue()); } Kommt dann so eine For schleife ? .. die funktioniert aber irgendwie nicht
-
Wie kann ich eine Map erzeugen aus Daten einer anderen Klasse ?
studentenDaten.put(segs[1],segs[2]);