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. // TODO: You might want to put "UI loop" for entering value and formulas here resp. in some UI methods.
String eingabe = ""; String eingabe = "";
String merker = ""; String merker = "";
int auswahl = 0;
boolean weiter;
String path, startcell; System.out.println();
char separator;
System.out.println("Willkommen zum Spreadsheet Programm"); System.out.println("Willkommen zum Spreadsheet Programm");
System.out.println(); System.out.println();
System.out.println("Wie groß soll das Spreadsheet sein?"); System.out.println("Wie groß soll das Spreadsheet sein?");
@ -53,74 +53,127 @@ public class Axel {
Spreadsheet spr = new Spreadsheet(zeilen,spalten); Spreadsheet spr = new Spreadsheet(zeilen,spalten);
do { do {
weiter = true;
System.out.println(); System.out.println();
System.out.println(spr); System.out.println(spr);
System.out.println();
System.out.print("Weitere Zelle bearbeiten?(J/N): "); auswahl = menue(spr);
eingabe = abfrage();
if (eingabe.equals("N") || eingabe.equals("n") || eingabe.equals("nein") ||eingabe.equals("Nein")) { switch(auswahl){
System.out.print("Dafür eine \"csv\" Datei einlesen?(J/N): "); case 0:
eingabe = abfrage(); System.out.println("Programm wird beendet");
if (eingabe.equals("N") || eingabe.equals("n") || eingabe.equals("nein") ||eingabe.equals("Nein")) { 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; 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 { private static void tabelle_speichern(Spreadsheet spr) throws FileNotFoundException {
System.out.print("Welche Zelle?"); System.out.print("Path von der csv Datei: ");
System.out.print("(Buchstabe+Zahl): "); 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 = abfrage();
eingabe = eingabe.toUpperCase(); 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; 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); }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() { private static String abfrage() {
Scanner sc = new Scanner(System.in); Scanner sc = new Scanner(System.in);
String x = sc.nextLine(); String x = sc.nextLine();