Sortieren ausgerechneter Werte aus einer TXT Datei

AnanasKuchen

Mitglied
Guten Tag,

ich habe ein Problem bei einer Aufgabe. Ich bin ein völliger Anfänger was Java angeht
Ich muss im Grunde eine Txt Datei ins Programm einlesen, und bestimmte Werte sortiert ausgeben.
In dieser Txt Datei sind Daten für ein Lager enthalten (Bestand, Preis, Hersteller, usw.).
Jetzt muss ich für jedes Produkt den Wert innerhalb des Lagers ausrechnen und fallend, sortiert ausgeben mit dem jeweiligen Hersteller.

Bisher kann ich Die Werte mit dem Hersteller ausgeben und diese werden in ein Array reingeschrieben. Das mit dem Sortieren funktioniert nicht ganz bei mir, ich habe mich am Bubblesort ausprobiert.
Meine Frage ist jetzt wie ich das lösen könnte und was ich Falsch gemacht habe?
Ich bekomme beispielsweise die Fehlermeldung "Illegal modifier for the local class Bubblesort; only abstract or final is permitted" in der public class bubblesort Zeile.
Ich bitte um Entschuldigung falls der Eintrag nicht sehr überschaubar ist da es mein erster Eintrag ist.

Vielen Dank im Vorraus
Viet Anh

Code:
51100210 Holzfenster einfach 6*15       ST 0160 0800 150 Vereinigte Bauelementewerke Hennigsdorf   0495.80 0629.25 0499.80 5
51100211 Holzfenster einfach 10,5*15    ST 0410 0500 100 Vereinigte Bauelementewerke Hennigsdorf   0529.95 0595.00 0499.80 4
51100212 Holzfenster Verbund 6*15       ST 0620 1500 300 Fensterbau Halle                          0563.00 0625.95 0545.95 5
51100213 Holzfenster Verbund 10,5*15    ST 0800 1500 300 Fensterbau Halle                          0619.00 0649.00 0569.95 4
51100214 Holzfenster Thermoscheibe 6*15 ST 0570 1200 250 Bauelementewerke Erfurt                   0665.50 0665.80 0583.95 4
51100215 Holzfenster Thermosch. 10,5*15 ST 0275 1200 200 Bauelementewerke Erfurt                   0629.50 0679.80 0595.85 6
51300220 Aussentuer ATM 10,5*21         ST 0125 0400 100 Holzbau Neubrandenburg                    1150.00 1384.00 1139.95 3
51300221 Aussentuer ATM 10,5*21 M       ST 0380 0400 100 Holzbau Neubrandenburg                    1440.50 1495.95 1180.00 5
51300222 Aussentuer ATM 10,5*21 S       ST 0101 0370 080 Vereinigte Bauelementewerke Erfurt        2760.50 2830.22 2740.00 4
51400223 Tuerfluegel TV 9*20 L          ST 1100 1050 195 Holzwerke Oranienbaum                     0929.00 0995.00 0899.95 2
51400224 Tuerfluegel TV 9*20 R          ST 0920 1050 195 Holzwerke Oranienbaum                     0929.00 0995.00 0899.95 2
51600225 Futtertuer TV-F14,5 9*20 L     ST 0720 0860 150 Vereinigte Bauelementewerke Stralsund     1499.50 1595.80 1490.50 4
51600226 Futtertuer TV-F14,5 9*20 R     ST 0684 0860 150 Vereinigte Bauelementewerke Stralsund     1529.80 1595.80 1490.50 4
51700227 Blendrahmentuer TG2-B 9*20 L   ST 0012 0480 080 Forstwirtschaftsbetrieb Waren             1859.20 1899.00 1595.00 3
51700228 Blendrahmentuer TG2-B 9*20 R   ST 0310 0480 080 Forstwirtschaftsbetrieb Waren             1838.00 1899.00 1595.00 3
52100230 Likolit-Belag Extra            QM 0100 2000 500 Linoleumwerke Kohlmuehle                  0038.15 0047.95 0038.15 5
52100231 Radeberger Treppenbelag        QM 0210 0800 200 Bauproduktion Radeberg                    0029.55 0029.55 0028.95 1
52100232 Stahl-Pur-Bit-Dachelement      QM 1150 3000 800 Holz- und Leichtmetallbauelemente Leipzig 0109.95 0119.00 0099.30 1
61100240 Brausekabine                   ST 0005 0080 010 TGA Magdeburg                             0962.50 0983.45 0910.00 2
61100241 Praezisionsverdunkl.-Anl.15*20 ST 0007 0160 040 Licht- und Sonnenschutzanl. Friedrichroda 0316.60 0333.20 0316.60 5

Das wäre die Liste

Code:
package artikelverwaltung;

import java.io.*;
import java.io.BufferedReader;
import java.io.FileReader;
import java.text.DecimalFormat;

import java.util.Arrays;


public class Verwaltung {

   
   
   
    public static void main(String[] args) {
       
       

        int n= 20;
        Artikel[] artikel=new Artikel[n+1];
       
        //Einlesen aus Datei
        String dateiname= "ARTIKEL.TXT";
        String zeile;
        int i=1;
       
        //Datei öffnen
        BufferedReader input=null;
        try {
            input = new BufferedReader(new FileReader(dateiname));
            System.out.println("Datei wird geöffnet!");
        } catch (FileNotFoundException e) {
            System.out.println("Datei nicht gefunden!");
        }
       
        //Daten Zeilenweise eilesen
        try {
            while((zeile=input.readLine())!=null) {
                //verarbeitung der Zeile
                artikel[i]=new Artikel();
                artikel[i].artNr=Integer.parseInt(zeile.substring(0, 8));
                artikel[i].artBez=zeile.substring(9, 39);
                artikel[i].bestand=Integer.parseInt (zeile.substring(43, 47));
                artikel[i].maxBestand=Integer.parseInt (zeile.substring(48, 52));
                artikel[i].minBestand=Integer.parseInt (zeile.substring(53, 56));
                artikel[i].herst=zeile.substring(57, 98);
                artikel[i].preis=Double.parseDouble (zeile.substring(100, 106));
                artikel[i].maxPreis=Double.parseDouble (zeile.substring(107, 114));
                artikel[i].minPreis=Double.parseDouble (zeile.substring(115, 122));
                artikel[i].liefzeit=Integer.parseInt (zeile.substring(123, 124));
               
           
                double wert=1;
                i=1;
                wert=(artikel[i].bestand*artikel[i].preis);                    //Berechnung des Wertes
                wert=(artikel[i].maxBestand*artikel[i].preis);                    //Berechnung des Gesamtertes
                DecimalFormat df = new DecimalFormat("####0.00");                //Formatierung
               


                public  class Bubblesort
                {
                    public double[] werte= {artikel[i].bestand*artikel[i].preis};

                    public double[] sort() {
                        double k;
                        for (int i = 0; i < werte.length - 1; i++) {
                            if (werte[i] < werte[i + 1]) {
                                continue;
                            }
                            k = werte[i];
                            werte[i] = werte[i + 1];
                            werte[i + 1] = k;
                            sort();
                        }
                        return werte;
                    }
                }

                System.out.println(df.format(wert)+" "+artikel[i].herst);        //Ausgabe der Werte mit Hersteller

            }
           

           
           
            input.close();
        } catch (IOException e) {
            System.out.println("Fehler beim Einlesen!");
        }

        }
   



           

}
 

fhoffmann

Top Contributor
Hier ein Vorschlag, wie ich das Programm aufbauen würde:
Java:
public class Verwaltung {
    private Artikel[] artikel;
    public static void main(String[] args) {
        Verwaltung verwaltung = new Verwaltung();
        verwaltung.leseArtikel("ARTIKEL.TXT");
        verwaltung.sortiere();
        verwaltung.ausgeben();
    }
  
    public leseArtikel(String dateiname)
    {
        // hier das Array "artikel" anlegen
        // hier die Datei auslesen und in "artikel" speichern
    }
  
    public sortiere() {
        // hier das Array "artikel" mit Bubblesort sortieren
        // das Sortierkriterium ist bestand*preis
        // sortiert wird jedoch das ganze Array
    }
  
    public ausgeben() {
        // hier über das Array "artikel" iterieren und alle Werte ausgeben
        // dazu sollte die Klasse Artikel am besten eine Methode "toString()" besitzen
    }
}
 

MoxxiManagarm

Top Contributor
Du solltest dem Objekt Artikel selbst den Wert geben, dann fällt das Sortieren sicher auch leichter. Es ist dann also ein berechnetes Feld. Parallel kannst du das dann auch mit dem Wert aus der 2. Zeile machen.

Java:
artikel[i].wert=artikel[i].bestand*artikel[i].preis;
artikel[i].maxWert=artikel[i].maxBestand*artikel[i].preis;

Warum hat das Array die Größe 20+1? Ist sichergestellt, dass die Datei immer 20 Zeilen hat? Wo erhöhst du i aus der Klasse Verwaltung?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Map<String, Integer> sortieren und der reinfolge nach die Glieder abfragen Java Basics - Anfänger-Themen 3
J HashSet mit Comparable sortieren Java Basics - Anfänger-Themen 13
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6
D Array List mit Objekten sortieren Java Basics - Anfänger-Themen 2
S Daten aus Import Datei auslesen und sortieren Java Basics - Anfänger-Themen 2
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
H Liste nach String-Länge sortieren Java Basics - Anfänger-Themen 1
O Sortieren mit Insertion Sort Java Basics - Anfänger-Themen 3
M Bubble Sort - Int[] Array sortieren Java Basics - Anfänger-Themen 2
B Array nach Elementwerten sortieren? Java Basics - Anfänger-Themen 1
L Gegebenes Array sortieren, indem zufällige Zahlenpaare aus Array ausgewählt werden Java Basics - Anfänger-Themen 14
Jambolo Karten sortieren nach Rang und Farbe Java Basics - Anfänger-Themen 5
rosima26 Java nach letzter Ziffer sortieren Java Basics - Anfänger-Themen 19
H Kompliziertes Sortieren einer ArrayList mit Objekten(Sortieren nach X und Y) Java Basics - Anfänger-Themen 11
K verschiedene Eingaben sortieren Java Basics - Anfänger-Themen 6
G zweidimensionales int Array sortieren Java Basics - Anfänger-Themen 57
K Java sortieren. Java Basics - Anfänger-Themen 7
D Array Elemente sortieren in aufsteigender Reihenfolge Java Basics - Anfänger-Themen 10
J Tabelle Sortieren Java Basics - Anfänger-Themen 48
rafi072001 Sortieren einer HashMap nach Values Java Basics - Anfänger-Themen 2
L Sortieren Java Basics - Anfänger-Themen 1
C Wie 2 Arrays zusammenfügen und sortieren? Java Basics - Anfänger-Themen 11
C ArrayList sortieren nach bestimmten Buchstaben in den Wörtern Java Basics - Anfänger-Themen 13
javaluke Erste Schritte Array nach Datentyp sortieren Java Basics - Anfänger-Themen 16
O 2D-Array nach einer Spalte sortieren Java Basics - Anfänger-Themen 22
C Sortieren einer ArrayList Java Basics - Anfänger-Themen 2
A Teilarrays eines 2D-Arrays sortieren Java Basics - Anfänger-Themen 4
JD_1998 Random Array sortieren mit Hilfe einer Methode Java Basics - Anfänger-Themen 4
java3690 eine liste sortieren Java Basics - Anfänger-Themen 12
DorFey Sortieren eines mehrdimensionalen Arrays Java Basics - Anfänger-Themen 8
P Sortieren von Listen nach Attributen Java Basics - Anfänger-Themen 3
W Personen sortieren mit Comparator Java Basics - Anfänger-Themen 9
U Objekte in einer LinkedList sortieren Java Basics - Anfänger-Themen 5
B HashMap alphabetisch sortieren Java Basics - Anfänger-Themen 2
S Streams - Abfrage absteigend sortieren Java Basics - Anfänger-Themen 11
V Collections ArrayList mit Comparator sortieren Java Basics - Anfänger-Themen 16
V Collections int Werte in einer Liste sortieren Java Basics - Anfänger-Themen 23
L Array sortieren Java Basics - Anfänger-Themen 4
L Java Int-Array, Zahlen sortieren Java Basics - Anfänger-Themen 8
T Java: Array monat absteigend sortieren? Java Basics - Anfänger-Themen 1
B Liste sortieren? Java Basics - Anfänger-Themen 4
P Array Sortieren mit boolean? Java Basics - Anfänger-Themen 33
scratchy1 Array sortieren und dann String-Repräsentation ausgeben Java Basics - Anfänger-Themen 2
O Arrays sortieren in einer Methode Java Basics - Anfänger-Themen 2
E Methoden 2 Arrays sortieren (MergeSort) Java Basics - Anfänger-Themen 3
B Suchen und sortieren Java Basics - Anfänger-Themen 10
F Zahlen im Feld sortieren + Unterprogramm Java Basics - Anfänger-Themen 4
O Zweidimensional Array sortieren Java Basics - Anfänger-Themen 14
J Liste,Queue,Stack sortieren Java Basics - Anfänger-Themen 2
CptK Variablen Teile eines Arrays zufällig sortieren Java Basics - Anfänger-Themen 7
K Methoden Array[][] sortieren Java Basics - Anfänger-Themen 30
CptK Datentypen Integer ArrayList sortieren Java Basics - Anfänger-Themen 2
E ArrayList sortieren Java Basics - Anfänger-Themen 16
L Methode zum sortieren Java Basics - Anfänger-Themen 1
L Methode zum sortieren Java Basics - Anfänger-Themen 1
B Sortieren mit Iterator Java Basics - Anfänger-Themen 4
B Wie kann ich die Buchstaben sortieren nach der Höhe der Zahlen Java Basics - Anfänger-Themen 14
E LMC (Assembler) Sortieren von 3 Zahlen Java Basics - Anfänger-Themen 4
J String, Int und double Array sortieren Java Basics - Anfänger-Themen 16
F Liste nach einer Variablen sortieren Java Basics - Anfänger-Themen 6
A Array sortieren Java Basics - Anfänger-Themen 1
N StringArray alphabetisch sortieren Java Basics - Anfänger-Themen 4
Tommy135 Erste Schritte JavaDoc Sortieren Java Basics - Anfänger-Themen 5
R Winkel berechnen bzw. Geraden sortieren Java Basics - Anfänger-Themen 33
L (Integer) Liste nach aufsteigender Summe der Ziffern sortieren (mit Bedingung) Java Basics - Anfänger-Themen 8
F HashMap sortieren <String, Long> Java Basics - Anfänger-Themen 3
D Arraylisten sortieren bitte um Hilfe Java Basics - Anfänger-Themen 4
informatikschüler21 String im Array sortieren Java Basics - Anfänger-Themen 4
U Methoden Zweidimensionales Array mit Arrays.sort sortieren? Java Basics - Anfänger-Themen 22
M Arrays sortieren und kleinster Abstand Java Basics - Anfänger-Themen 3
R Interface Eigene Objekte in Listen sortieren mit Interface Comparable Java Basics - Anfänger-Themen 5
N TreeMap alphabetisch sortieren? Java Basics - Anfänger-Themen 3
I <List> sortieren Java Basics - Anfänger-Themen 2
F Interface Nach mehreren Kriterien sortieren Java Basics - Anfänger-Themen 2
R Objekte Vergleichen und Sortieren Java Basics - Anfänger-Themen 3
I Sortieren nach Priorität Java Basics - Anfänger-Themen 3
S List<T<X,Y> sortieren Java Basics - Anfänger-Themen 5
W Array sortieren Java Basics - Anfänger-Themen 3
C JList Einträge nach Datum sortieren Java Basics - Anfänger-Themen 3
Alex/89 Werte einer .txt Datei sortieren Java Basics - Anfänger-Themen 8
N Bubble Sort sortieren mit Int Werte Java Basics - Anfänger-Themen 8
N Collection sortieren/ filtern Java Basics - Anfänger-Themen 7
C Methoden Einfach verkette Liste - int Werte aufsteigend sortieren Java Basics - Anfänger-Themen 1
P Listen sortieren mit Binärbaum gibt keine Ausgabe ab 10000 Integern Java Basics - Anfänger-Themen 14
S array sortieren Java Basics - Anfänger-Themen 7
D Array mit Zufallszahlen, dann sortieren: Hilfe gesucht! Java Basics - Anfänger-Themen 1
D Methoden int-Array absteigend sortieren Java Basics - Anfänger-Themen 8
C Chars in einem String alphabetisch sortieren Java Basics - Anfänger-Themen 1
C OOP array Sortieren ohne den sort Befehl Java Basics - Anfänger-Themen 10
S int-Array mittels Arrays.sort() in einer Schleife sortieren. Java Basics - Anfänger-Themen 2
J Sortieren Java Basics - Anfänger-Themen 21
O Erste Schritte TreeMap nach Value sortieren Java Basics - Anfänger-Themen 2
K Collections Sortieren nach zweiter Spalte in JTable Java Basics - Anfänger-Themen 18
H Strings vergleichen & sortieren Java Basics - Anfänger-Themen 20
J Ungewolltes Sortieren eines Arrays Java Basics - Anfänger-Themen 4
T Collections Sortieren von Automodellen (v.a. BMW und Mercedes) Java Basics - Anfänger-Themen 3
P Liste sortieren verschiedener generischer Typen Java Basics - Anfänger-Themen 4
D Erste Schritte array aufsteigend sortieren und ausgeben Java Basics - Anfänger-Themen 17
K Probleme mit Sortieren und dem Zählen Java Basics - Anfänger-Themen 13
B Sortieren und Filtern von Tabellen Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben