More error handling and loop improvements.
parent
6b0c7d3ad8
commit
2b95af08d1
|
@ -1,6 +1,7 @@
|
||||||
package de.hs_mannheim.informatik.spreadsheet;
|
package de.hs_mannheim.informatik.spreadsheet;
|
||||||
|
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
|
import java.util.InputMismatchException;
|
||||||
import java.util.Scanner;
|
import java.util.Scanner;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -11,12 +12,24 @@ import java.util.Scanner;
|
||||||
public class Axel {
|
public class Axel {
|
||||||
|
|
||||||
public static void main(String[] args) throws FileNotFoundException {
|
public static void main(String[] args) throws FileNotFoundException {
|
||||||
Scanner sc = new Scanner(System.in);
|
Spreadsheet spr = new Spreadsheet(10,10);
|
||||||
System.out.println("\nAxel(ExcelFakeVon2211482): ");
|
boolean match = false;
|
||||||
System.out.print("\nTabellengröße(ReihenZwischen1-99 SpaltenZwischen1-26): ");
|
|
||||||
Spreadsheet spr = new Spreadsheet(sc.nextInt(), sc.nextInt());
|
|
||||||
boolean stop = 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) {
|
while (!stop) {
|
||||||
|
|
||||||
try {
|
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("\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("\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("\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.:" +
|
"\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)");
|
"\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,7 +284,8 @@ public class Spreadsheet {
|
||||||
result += Double.parseDouble(cells[r][c].getValue());
|
result += Double.parseDouble(cells[r][c].getValue());
|
||||||
counter++;
|
counter++;
|
||||||
}
|
}
|
||||||
result /= counter;
|
if(result!=0)
|
||||||
|
result /= counter;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
private double standardDeviation(String startCellName, String endCellName){
|
private double standardDeviation(String startCellName, String endCellName){
|
||||||
|
@ -302,6 +303,9 @@ public class Spreadsheet {
|
||||||
avg /= counter;
|
avg /= counter;
|
||||||
//average/ add cell names to list
|
//average/ add cell names to list
|
||||||
|
|
||||||
|
if(cellNames.isEmpty())
|
||||||
|
return 0;
|
||||||
|
|
||||||
ArrayList<String> copyCellNames = new ArrayList<>(cellNames);
|
ArrayList<String> copyCellNames = new ArrayList<>(cellNames);
|
||||||
double[] frequency = new double[cellNames.size()];
|
double[] frequency = new double[cellNames.size()];
|
||||||
Arrays.fill(frequency,1);
|
Arrays.fill(frequency,1);
|
||||||
|
@ -348,6 +352,9 @@ public class Spreadsheet {
|
||||||
if(!cells[r][c].isEmpty())
|
if(!cells[r][c].isEmpty())
|
||||||
cellNames.add(getCellName(r, c));
|
cellNames.add(getCellName(r, c));
|
||||||
|
|
||||||
|
if(cellNames.isEmpty())
|
||||||
|
return 0;
|
||||||
|
|
||||||
double result = Double.parseDouble(get(cellNames.get(0)));
|
double result = Double.parseDouble(get(cellNames.get(0)));
|
||||||
for(int i = 0; i< cellNames.size(); i++)
|
for(int i = 0; i< cellNames.size(); i++)
|
||||||
try {
|
try {
|
||||||
|
@ -364,6 +371,8 @@ public class Spreadsheet {
|
||||||
if(!cells[r][c].isEmpty())
|
if(!cells[r][c].isEmpty())
|
||||||
cellNames.add(getCellName(r, c));
|
cellNames.add(getCellName(r, c));
|
||||||
|
|
||||||
|
if(cellNames.isEmpty())
|
||||||
|
return 0;
|
||||||
|
|
||||||
double result = Double.parseDouble(get(cellNames.get(0)));
|
double result = Double.parseDouble(get(cellNames.get(0)));
|
||||||
for(int i = 0; i< cellNames.size(); i++)
|
for(int i = 0; i< cellNames.size(); i++)
|
||||||
|
|
Loading…
Reference in New Issue