forked from hummel/PR1-Spreadsheet
Menü verbessert, man kann nun Strings in gewünschten Zellen (mit Scanner) eintragen.
In Spreadsheet.java wird auch überprüft, ob die Eingabe korrekt ist! (also Zelle vorhanden ist)main
parent
ccf2d38603
commit
4f38207c3b
|
@ -23,10 +23,9 @@ public class Axel {
|
||||||
spr.put("J10", "1111"); // Das Programm konnte keine Zellen mit 2 Stellen (>9) einlesen! (-> Programm macht es an Stelle 1 statt 10)
|
spr.put("J10", "1111"); // Das Programm konnte keine Zellen mit 2 Stellen (>9) einlesen! (-> Programm macht es an Stelle 1 statt 10)
|
||||||
spr.put("Z2", "23");
|
spr.put("Z2", "23");
|
||||||
|
|
||||||
System.out.println(spr);
|
//System.out.println(spr);
|
||||||
|
|
||||||
spr.saveCsv("C:\\Users\\flori\\IdeaProjects\\PR1-Spreadsheet\\Axel\\resources\\zahlen.csv");
|
|
||||||
|
|
||||||
|
//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");
|
//spr.readCsv("C:\\Users\\flori\\IdeaProjects\\PR1-Spreadsheet\\Axel\\resources\\zahlen2.csv", ',',"A1");
|
||||||
|
@ -36,33 +35,54 @@ 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 = "";
|
||||||
|
|
||||||
do {
|
do {System.out.println(spr);
|
||||||
|
System.out.println();
|
||||||
|
System.out.print("Weitere Zelle bearbeiten?(J/N): ");
|
||||||
eingabe = abfrage();
|
eingabe = abfrage();
|
||||||
|
if (eingabe.equals("N") || eingabe.equals("n") || eingabe.equals("nein") ||eingabe.equals("Nein")) {
|
||||||
}while(weiter(eingabe));
|
break;
|
||||||
verabschiedung();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void verabschiedung() {
|
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);
|
||||||
|
|
||||||
|
merker = eingabe;
|
||||||
|
|
||||||
|
System.out.print("Was soll in Zelle " +eingabe+ " rein?:");
|
||||||
|
eingabe = abfrage();
|
||||||
|
|
||||||
|
spr.put(merker, eingabe);
|
||||||
|
|
||||||
|
}while(true);
|
||||||
|
verabschiedung(spr);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void verabschiedung(Spreadsheet spr) throws FileNotFoundException {
|
||||||
System.out.println("Programm wird beendet. Wollen Sie Ihre Tabelle vorher abspeichern?");
|
System.out.println("Programm wird beendet. Wollen Sie Ihre Tabelle vorher abspeichern?");
|
||||||
|
|
||||||
String kbord = abfrage();
|
String kbord = abfrage();
|
||||||
kbord = kbord.toUpperCase();
|
kbord = kbord.toUpperCase();
|
||||||
|
|
||||||
if (kbord.equals("JA") || kbord.equals("J") || kbord.equals("Y") || kbord.equals("YES")) {
|
if (kbord.equals("JA") || kbord.equals("J") || kbord.equals("Y") || kbord.equals("YES")) {
|
||||||
System.out.println("Tabelle wurde gespeichert"); //TODO: Tabelle soll hier in einer csv Datei gespeichert werden
|
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-");
|
System.out.println("-Programm wurde beendet-");
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean weiter(String eingabe) {
|
|
||||||
if (eingabe.equals("exit")) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static String abfrage() {
|
private static String abfrage() {
|
||||||
Scanner sc = new Scanner(System.in);
|
Scanner sc = new Scanner(System.in);
|
||||||
|
|
|
@ -9,7 +9,7 @@ import java.util.regex.Pattern;
|
||||||
/**
|
/**
|
||||||
* A simplified spreadsheet class for the PR1 programming lab at Hochschule Mannheim.
|
* A simplified spreadsheet class for the PR1 programming lab at Hochschule Mannheim.
|
||||||
* One aspect worth mentioning is that it only supports long numbers, not doubles.
|
* One aspect worth mentioning is that it only supports long numbers, not doubles.
|
||||||
*
|
*p
|
||||||
* @author Oliver Hummel
|
* @author Oliver Hummel
|
||||||
*/
|
*/
|
||||||
public class Spreadsheet {
|
public class Spreadsheet {
|
||||||
|
@ -93,6 +93,21 @@ public class Spreadsheet {
|
||||||
return merker-1;
|
return merker-1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public boolean zelleneingabe_pruefen(String a) {
|
||||||
|
if (a.length() < 2) { //es soll eine einzelne Zelle angesprochen werde, also muss dafür die länge >2 sein
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (getRow(a) < 0 || getRow(a) >= cells.length) { //überprüfung ob die eingabe in die rows länge passt
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (getCol(a) < 0 || getCol(a) >= cells[0].length) { //überprüfung ob die eingabe in die Columns länge passt
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// -----
|
// -----
|
||||||
// business logic
|
// business logic
|
||||||
|
|
||||||
|
@ -226,5 +241,4 @@ public class Spreadsheet {
|
||||||
}
|
}
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue