1
0
Fork 0

Menü komplett überarbeitet!

Einfügen in Zellen geht und eine Tabelle einlesen oder die aktuelle speichern.
main
Florian Hörner 2024-01-04 23:03:33 +01:00
parent 361527e2b4
commit c4f0a994c9
1 changed files with 110 additions and 57 deletions

View File

@ -36,10 +36,10 @@ public class Axel {
// TODO: You might want to put "UI loop" for entering value and formulas here resp. in some UI methods.
String eingabe = "";
String merker = "";
int auswahl = 0;
boolean weiter;
String path, startcell;
char separator;
System.out.println();
System.out.println("Willkommen zum Spreadsheet Programm");
System.out.println();
System.out.println("Wie groß soll das Spreadsheet sein?");
@ -53,74 +53,127 @@ public class Axel {
Spreadsheet spr = new Spreadsheet(zeilen,spalten);
do {
weiter = true;
System.out.println();
System.out.println(spr);
System.out.println();
System.out.print("Weitere Zelle bearbeiten?(J/N): ");
eingabe = abfrage();
if (eingabe.equals("N") || eingabe.equals("n") || eingabe.equals("nein") ||eingabe.equals("Nein")) {
System.out.print("Dafür eine \"csv\" Datei einlesen?(J/N): ");
eingabe = abfrage();
if (eingabe.equals("N") || eingabe.equals("n") || eingabe.equals("nein") ||eingabe.equals("Nein")) {
auswahl = menue(spr);
switch(auswahl){
case 0:
System.out.println("Programm wird beendet");
weiter = false;
break;
case 1:
zelle_bearbeiten(spr);
break;
case 2:
tabelle_einlesen(spr);
break;
case 3:
tabelle_speichern(spr);
break;
default:
System.out.println("Unbekannter Fehler - Menü wird neu geöffnet");
break;
}else {
System.out.print("Path von der csv Datei: ");
eingabe = abfrage();
path = eingabe;
System.out.print("Separator zwischen den Zellen in der csb Datei: ");
eingabe = abfrage();
separator = eingabe.charAt(0);
System.out.print("Obere Linke Zelle, in die Daten aus der csb-Datei eingefügt werden sollen: ");
eingabe = abfrage();
startcell = eingabe;
spr.readCsv(path, separator,startcell);
continue;
}
}
}while(weiter);
}
do {
System.out.print("Welche Zelle?");
System.out.print("(Buchstabe+Zahl): ");
private static void tabelle_speichern(Spreadsheet spr) throws FileNotFoundException {
System.out.print("Path von der csv Datei: ");
String path = abfrage();
spr.saveCsv(path);
System.out.println("Tabelle wurde gespeichert");
}
private static void tabelle_einlesen(Spreadsheet spr) throws FileNotFoundException {
String eingabe, path, startcell;
char separator;
System.out.print("Path von der csv Datei: ");
eingabe = abfrage();
path = eingabe;
System.out.print("Separator zwischen den Zellen in der csb Datei: ");
eingabe = abfrage();
separator = eingabe.charAt(0);
System.out.print("Obere Linke Zelle, in die Daten aus der csb-Datei eingefügt werden sollen: ");
eingabe = abfrage();
startcell = eingabe;
spr.readCsv(path, separator, startcell);
}
private static void zelle_bearbeiten(Spreadsheet spr) {
String eingabe;
do {
System.out.print("Welche Zelle?");
System.out.print("(Buchstabe+Zahl): ");
eingabe = abfrage();
eingabe = eingabe.toUpperCase();
if (spr.zelleneingabe_pruefen(eingabe)) {
break;
} else{
System.out.println();
System.out.println("Fehler bei Eingabe - Zelle wurde nicht gefunden");
System.out.println("Versuchen Sie es erneut");
}
}while(true);
String merker = eingabe;
System.out.print("Was soll in Zelle " +eingabe+ " rein?:");
eingabe = abfrage();
spr.put(merker, eingabe);
}
private static int menue(Spreadsheet spr) throws FileNotFoundException {
do {
System.out.println();
System.out.println("Auswahl Möglichkeiten:");
System.out.println("1. Zelle bearbeiten 2. Tabelle einfügen 3. Tabelle speichern");
System.out.print("Ihre auswahl: ");
String eingabe = abfrage();
if (eingabe.length() == 1 && eingabe.charAt(0) <= '3' && eingabe.charAt(0) >= '1') {
return Integer.parseInt(eingabe);
}else {
if (!(eingabe.equals("exit"))) {
System.out.println("Fehler bei Eingabe!");
System.out.print("Wollen Sie das Programm beenden?(J/N): ");
eingabe = abfrage();
eingabe = eingabe.toUpperCase();
if (eingabe.equals("NEIN") || eingabe.equals("N") || eingabe.equals("NO") || eingabe.equals("NE")) {
continue;
}
}
System.out.print("Programm ohne speichern beenden?(J/N)");
eingabe = abfrage();
eingabe = eingabe.toUpperCase();
if (spr.zelleneingabe_pruefen(eingabe)) {
if (eingabe.equals("JA") || eingabe.equals("J") || eingabe.equals("Y") || eingabe.equals("YES")) {
break;
} else {
tabelle_speichern(spr);
break;
} else{
System.out.println();
System.out.println("Fehler bei Eingabe - Zelle wurde nicht gefunden");
System.out.println("Versuchen Sie es erneut");
}
}while(true);
merker = eingabe;
System.out.print("Was soll in Zelle " +eingabe+ " rein?:");
eingabe = abfrage();
spr.put(merker, eingabe);
}
}while(true);
verabschiedung(spr);
return 0;
}
private static void verabschiedung(Spreadsheet spr) throws FileNotFoundException {
System.out.println("Programm wird gleich beendet!");
System.out.print("Wollen Sie vorher Ihre Tabelle vorher abspeichern?(J/N): ");
String kbord = abfrage();
kbord = kbord.toUpperCase();
if (kbord.equals("JA") || kbord.equals("J") || kbord.equals("Y") || kbord.equals("YES")) {
System.out.println("Tabelle wurde gespeichert");
spr.saveCsv("C:\\Users\\flori\\IdeaProjects\\PR1-Spreadsheet\\Axel\\resources\\zahlen.csv"); //<- muss natürlich auf dem jeweiligen computer geändert werden
}
System.out.println("-Programm wurde beendet-");
}
private static String abfrage() {
Scanner sc = new Scanner(System.in);
String x = sc.nextLine();