Hier der restliche Code (es gibt zwei Klassen einmal die main methode oben und Klasse ZM)
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.LinkedList;
public class ZM {
FileReader fr1;
BufferedReader br1;
FileWriter fw1;
PrintWriter pr1;
LinkedList<kfz> dliste;
public ZM(String dsn, int mod) throws IOException {
switch (mod) {
case 1:
fr1 = new FileReader(dsn);
br1 = new BufferedReader(fr1);
dliste = new LinkedList<>();
break;
case 2:
fw1 = new FileWriter(dsn);
pr1 = new PrintWriter(fw1);
break;
}
}
int einlesen() throws IOException {
int i = 0;
String line;
while ((line = br1.readLine()) != null) {
String[] lineElements = line.split(";");
if (lineElements.length == 4) {
try {
int manr = Integer.parseInt(lineElements[0]);
if (manr > 0)
try {
double preis = Double.parseDouble(lineElements[1]);
String mabez = lineElements[2];
char x = mabez.charAt(0);
String stao = lineElements[3];
char y = stao.charAt(0);
if ((x >= 'A' && x <= 'Z') && (y >= 'A' && y <= 'Z')) {
kfz m = new kfz();
m.setManr(manr);
m.setPreis(preis);
m.setMabez(mabez);
m.setStao(stao);
dliste.add(m);
i++;
}
} catch (Exception e) {
// TODO: handle exception
}
} catch (Exception e) {
}
}
}
return i;
}
void listDat() {
for (int i = 0; i < dsliste.size(); i++) {
String line = dliste.get(i).getmanr() + ";" + dliste.get(i).getpreis() + ";" + dliste.get(i).getmabez()
+ ";" + dliste.get(i).getstao();
pr1.println(line);
}
pr1.close();
}
int bubble(int iox) {
int steps = 0;
kfz temp;
for (int i = 0; i < dliste.size(); i++) {
for (int j = 1; j < dliste.size() - i; j++) {
switch (iox) {
case 1:
if (dliste.get(j - 1).getmabez().charAt(0) > dliste.get(j).getmabez().charAt(0)) {
temp = dliste.get(j - 1);
dliste.set(j - 1, dliste.get(j));
dliste.set(j, temp);
steps++;
}
break;
case 2:
if (dliste.get(j - 1).getpreis() > dliste.get(j).getpreis()) {
temp = dliste.get(j - 1);
dliste.set(j - 1, dliste.get(j));
dliste.set(j, temp);
steps++;
}
break;
case 3:
if (dliste.get(j - 1).getstao().charAt(0) > dliste.get(j).getstao().charAt(0)) {
temp = dliste.get(j - 1);
dliste.set(j - 1, dliste.get(j));
dliste.set(j, temp);
steps++;
}
break;
}
}
}
return steps;
}
int sort(int iox) {
int steps=0;
LinkedList<kfz> hlist = new LinkedList<>();
for (int i = 0; i < dliste.size(); i++) {
if (hlist.size() == 0) {
hlist.add(dliste.get(i));
steps++;
} else {
for (int j = 0; j < dliste.size(); j++) {
switch (iox) {
case 1:
if (dliste.get(i).getmabez().charAt(0) < hlist.get(j).getmabez().charAt(0)) {
hlist.set(j, dliste.get(i));
steps++;
} else {
if (j == hlist.size() - 1){
hlist.add(dliste.get(i));
steps++;
}
}
break;
case 2:
if (dliste.get(i).getpreis() < hlist.get(j).getpreis()) {
hlist.set(j, dliste.get(i));
steps++;
} else {
if (j == hlist.size() - 1){
hlist.add(dliste.get(i));
steps++;
}
}
break;
case 3:
if (dliste.get(i).getstao().charAt(0)<hlist.get(j).getstao().charAt(0)) {
hlist.set(j, dliste.get(i));
steps++;
} else {
if (j == hlist.size() - 1){
hlist.add(dliste.get(i));
steps++;
}
}
break;
}
}
}
}
dliste = hlist;
return steps;
}
}