forked from hummel/PR1-Spreadsheet
Methode "calculate" geht jetzt
parent
c4f0a994c9
commit
3f4f1d978a
|
@ -198,7 +198,7 @@ public class Spreadsheet {
|
|||
result = "TODO"; // TODO
|
||||
else if (!formula.isEmpty()) {
|
||||
try {
|
||||
result = "" + calculate(formula);
|
||||
result = "" + calculate(formula); //geht nicht?
|
||||
} catch(ArithmeticException ae) {
|
||||
result = "exc.";
|
||||
}
|
||||
|
@ -234,18 +234,77 @@ public class Spreadsheet {
|
|||
long res = 0;
|
||||
|
||||
// TODO implement
|
||||
int merker = 0;
|
||||
int zaehler = 0;
|
||||
int neue_zahl = 0;
|
||||
|
||||
// uncomment the following to see an example how the elements of a formula can be accessed
|
||||
while (m.find()) { // m.find() must always be used before m.group()
|
||||
String s = m.group();
|
||||
if (!s.isEmpty()) {
|
||||
System.out.println(s);
|
||||
zaehler++;
|
||||
|
||||
switch (zaehler){
|
||||
case 1:
|
||||
try {
|
||||
res = Integer.parseInt(s);
|
||||
}catch (Exception ignored){
|
||||
res = Integer.parseInt(get(s));
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
switch(s) {
|
||||
case "+":
|
||||
merker = 1;
|
||||
break;
|
||||
case "-":
|
||||
merker = 2;
|
||||
break;
|
||||
case "*":
|
||||
merker = 3;
|
||||
break;
|
||||
case "/":
|
||||
merker = 4;
|
||||
break;
|
||||
default:
|
||||
System.out.println("ERROR");
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
try {
|
||||
neue_zahl = Integer.parseInt(s);
|
||||
}catch (Exception ignored){
|
||||
neue_zahl = Integer.parseInt(get(s));
|
||||
}
|
||||
res = rechne(res, merker, neue_zahl);
|
||||
|
||||
zaehler = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
private long rechne(long a, int merker, int b) {
|
||||
switch(merker){
|
||||
case 1:
|
||||
return a + b;
|
||||
case 2:
|
||||
return a - b;
|
||||
case 3:
|
||||
return a * b;
|
||||
case 4:
|
||||
return a / b;
|
||||
default:
|
||||
System.out.println("ERROR");
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
// -----
|
||||
|
||||
public String toString() {
|
||||
|
|
Loading…
Reference in New Issue