diff --git a/Axel/src/de/hs_mannheim/informatik/spreadsheet/Axel.java b/Axel/src/de/hs_mannheim/informatik/spreadsheet/Axel.java index e06f763..2d44577 100644 --- a/Axel/src/de/hs_mannheim/informatik/spreadsheet/Axel.java +++ b/Axel/src/de/hs_mannheim/informatik/spreadsheet/Axel.java @@ -9,7 +9,6 @@ import java.util.Scanner; * @author Oliver Hummel */ public class Axel { - public static void main(String[] args) throws FileNotFoundException { /* Spreadsheet spr = new Spreadsheet(100,100); @@ -25,30 +24,41 @@ public class Axel { spr.put("Z2", "23"); */ - //System.out.println(spr); - - //spr.saveCsv("C:\\Users\\flori\\IdeaProjects\\PR1-Spreadsheet\\Axel\\resources\\zahlen.csv"); - //spr.readCsv("C:\\Users\\flori\\IdeaProjects\\PR1-Spreadsheet\\Axel\\resources\\zahlen2.csv", ',',"A1"); - - //System.out.println(spr); - - - // TODO: You might want to put "UI loop" for entering value and formulas here resp. in some UI methods. + //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; + int zeilen = 0, spalten = 0; System.out.println(); System.out.println("Willkommen zum Spreadsheet Programm"); System.out.println(); System.out.println("Wie groß soll das Spreadsheet sein?"); - System.out.print("Zeilen(1-26): "); - eingabe = abfrage(); - int zeilen = Integer.parseInt(eingabe); - System.out.print("Spalten(1-99): "); - eingabe = abfrage(); - int spalten = Integer.parseInt(eingabe);; + + do { + weiter = false; + System.out.print("Zeilen(1-26): "); + eingabe = abfrage(); + try { + zeilen = Integer.parseInt(eingabe); + } catch (Exception ignored) { + weiter = true; + System.out.println("Falsche eingabe, versuchen Sie es erneut: "); + } + }while(weiter); + + do { + weiter = false; + System.out.print("Spalten(1-99): "); + eingabe = abfrage(); + try { + spalten = Integer.parseInt(eingabe); + } catch (Exception ignored) { + weiter = true; + System.out.println("Falsche eingabe, versuchen Sie es erneut: "); + } + }while(weiter); Spreadsheet spr = new Spreadsheet(zeilen,spalten); @@ -82,6 +92,11 @@ public class Axel { }while(weiter); } + /** + * Speichert eine Tabelle in einem Path den man (der Benutzer) per Scanner eingeben muss. + * @param spr Tabelle die gespeichert werden soll. + * @throws FileNotFoundException + */ private static void tabelle_speichern(Spreadsheet spr) throws FileNotFoundException { System.out.print("Path von der csv Datei: "); String path = abfrage(); @@ -91,6 +106,11 @@ public class Axel { System.out.println("Tabelle wurde gespeichert"); } + /** + * Liest eine Tabelle aus einer csv Datei ein, dafür muss man path, separator und startcell angeben. + * @param spr Tabelle die gespeichert werden soll. + * @throws FileNotFoundException + */ private static void tabelle_einlesen(Spreadsheet spr) throws FileNotFoundException { String eingabe, path, startcell; char separator; @@ -111,6 +131,10 @@ public class Axel { } + /** + * Fragt so lange ab bis man (der Benutzer) eine richtige Zelle angibt, dort kann man dann etwas einfügen. + * @param spr Tabelle + */ private static void zelle_bearbeiten(Spreadsheet spr) { String eingabe; do { @@ -135,11 +159,17 @@ public class Axel { spr.put(merker, eingabe); } + /** + * Gibt ein kleines Menü auf der Console aus, dort kann man dann per eingabe (Zahl) wählen, was man tun will. + * @param spr + * @return Gibt die Zahl zurück, die der Benutzer eingegeben hat. + * @throws FileNotFoundException + */ 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.println("1. Zelle bearbeiten 2. Tabelle einfügen 3. Tabelle speichern | oder \"exit\""); System.out.print("Ihre auswahl: "); @@ -174,11 +204,13 @@ public class Axel { return 0; } + /** + * Hier hab ich etwas getrickst und den Scanner den ich öfter brauche einfach in eine Methode geschrieben. Sollte man wahrscheinlich so eher nicht tun. + * @return Was der Benutzer eingibt (String) + */ private static String abfrage() { Scanner sc = new Scanner(System.in); String x = sc.nextLine(); return x; } - - } \ No newline at end of file