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
Das wäre die Liste
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!");
}
}
}