More error handling and loop improvements.
parent
6b0c7d3ad8
commit
2b95af08d1
|
@ -1,6 +1,7 @@
|
|||
package de.hs_mannheim.informatik.spreadsheet;
|
||||
|
||||
import java.io.FileNotFoundException;
|
||||
import java.util.InputMismatchException;
|
||||
import java.util.Scanner;
|
||||
|
||||
/**
|
||||
|
@ -11,12 +12,24 @@ import java.util.Scanner;
|
|||
public class Axel {
|
||||
|
||||
public static void main(String[] args) throws FileNotFoundException {
|
||||
Scanner sc = new Scanner(System.in);
|
||||
System.out.println("\nAxel(ExcelFakeVon2211482): ");
|
||||
System.out.print("\nTabellengröße(ReihenZwischen1-99 SpaltenZwischen1-26): ");
|
||||
Spreadsheet spr = new Spreadsheet(sc.nextInt(), sc.nextInt());
|
||||
Spreadsheet spr = new Spreadsheet(10,10);
|
||||
boolean match = false;
|
||||
boolean stop = false;
|
||||
Scanner sc = new Scanner(System.in);
|
||||
|
||||
System.out.println("\nAxel(ExcelFakeVon2211482): ");
|
||||
while (!match) {
|
||||
try {
|
||||
System.out.print("\nTabellengröße(ReihenZwischen1-99 SpaltenZwischen1-26): ");
|
||||
spr = new Spreadsheet(sc.nextInt(), sc.nextInt());
|
||||
match = true;
|
||||
} catch(InputMismatchException i){
|
||||
System.out.println("\nGeben Sie zwei Ganzzahlen mit Leerzeichen dazwischen an!");
|
||||
System.out.println("\nEnter zum fortfahren.");
|
||||
sc.nextLine();
|
||||
sc.nextLine();
|
||||
}
|
||||
}
|
||||
while (!stop) {
|
||||
|
||||
try {
|
||||
|
@ -39,7 +52,7 @@ public class Axel {
|
|||
System.out.println("\nEinlesen: \nKOMMANDO Dateipfad Trennzeichen StartzelleObenLinks (Alles mit Leerzeichen getrennt.) e.g.:\nEINLESEN Axel/resources/zahlen.csv , A1");
|
||||
System.out.println("\nSpeichern: \nKOMMANDO Dateipfad (Mit Leerzeichen getrennt.) e.g.:\nSPEICHERN Axel/resources/zahlen.csv");
|
||||
System.out.println("\nFormel Tabellenansicht: \nKOMMANDO e.g.:\nFORMELN");
|
||||
System.out.println("\nZellen Werte/Formeln zuweisen: \nZELLE ZUWEISUNG (Mit Leerzeichen getrennt, Zelle beginnend mit Buchstabe und Zuweisung beginnend mit =.) e.g.:\nA1 =A5+15\n" +
|
||||
System.out.println("\nZellen Werte/Formeln zuweisen: \nZELLE ZUWEISUNG (Mit Leerzeichen getrennt, Zelle beginnend mit Buchstabe und Zuweisung beginnend mit =; Keine Kommazahlen als Eingabe erlaubt.) e.g.:\nA1 =A5+15\n" +
|
||||
"\nZELLE FORMELZUWEISUNG (Formelzuweisung mit Startzelle bis Endzelle getrennt durch :.) e.g.:" +
|
||||
"\nA2 =SUMME(A1:H10)\t\tA3 =PRODUKT(A1:H10)\t\tA4 =MITTELWERT(A1:H10)\t\tA5 =STABW(A1:H10) (Standartabweichung)\t\tA6 =MIN(A1:H10)\t\tA7 =MAX(A1:H10)");
|
||||
}
|
||||
|
|
|
@ -284,6 +284,7 @@ public class Spreadsheet {
|
|||
result += Double.parseDouble(cells[r][c].getValue());
|
||||
counter++;
|
||||
}
|
||||
if(result!=0)
|
||||
result /= counter;
|
||||
return result;
|
||||
}
|
||||
|
@ -302,6 +303,9 @@ public class Spreadsheet {
|
|||
avg /= counter;
|
||||
//average/ add cell names to list
|
||||
|
||||
if(cellNames.isEmpty())
|
||||
return 0;
|
||||
|
||||
ArrayList<String> copyCellNames = new ArrayList<>(cellNames);
|
||||
double[] frequency = new double[cellNames.size()];
|
||||
Arrays.fill(frequency,1);
|
||||
|
@ -348,6 +352,9 @@ public class Spreadsheet {
|
|||
if(!cells[r][c].isEmpty())
|
||||
cellNames.add(getCellName(r, c));
|
||||
|
||||
if(cellNames.isEmpty())
|
||||
return 0;
|
||||
|
||||
double result = Double.parseDouble(get(cellNames.get(0)));
|
||||
for(int i = 0; i< cellNames.size(); i++)
|
||||
try {
|
||||
|
@ -364,6 +371,8 @@ public class Spreadsheet {
|
|||
if(!cells[r][c].isEmpty())
|
||||
cellNames.add(getCellName(r, c));
|
||||
|
||||
if(cellNames.isEmpty())
|
||||
return 0;
|
||||
|
||||
double result = Double.parseDouble(get(cellNames.get(0)));
|
||||
for(int i = 0; i< cellNames.size(); i++)
|
||||
|
|
Loading…
Reference in New Issue