1
0
Fork 0

Compare commits

..

2 Commits

2 changed files with 70 additions and 6 deletions

View File

@ -11,6 +11,7 @@ import java.util.Scanner;
public class Axel {
public static void main(String[] args) throws FileNotFoundException {
/*
Spreadsheet spr = new Spreadsheet(100,100);
spr.put("A1", "123");
@ -22,27 +23,62 @@ 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("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.
String eingabe = "";
String merker = "";
do {System.out.println(spr);
String path, startcell;
char separator;
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);;
Spreadsheet spr = new Spreadsheet(zeilen,spalten);
do {
System.out.println();
System.out.println(spr);
System.out.println();
System.out.print("Weitere Zelle bearbeiten?(J/N): ");
eingabe = abfrage();
if (eingabe.equals("N") || eingabe.equals("n") || eingabe.equals("nein") ||eingabe.equals("Nein")) {
break;
System.out.print("Dafür eine \"csv\" Datei einlesen?(J/N): ");
eingabe = abfrage();
if (eingabe.equals("N") || eingabe.equals("n") || eingabe.equals("nein") ||eingabe.equals("Nein")) {
break;
}else {
System.out.print("Path von der csv Datei: ");
eingabe = abfrage();
path = eingabe;
System.out.print("Separator zwischen den Zellen in der csb Datei: ");
eingabe = abfrage();
separator = eingabe.charAt(0);
System.out.print("Obere Linke Zelle, in die Daten aus der csb-Datei eingefügt werden sollen: ");
eingabe = abfrage();
startcell = eingabe;
spr.readCsv(path, separator,startcell);
continue;
}
}
do {
@ -71,7 +107,8 @@ public class Axel {
}
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 gleich beendet!");
System.out.print("Wollen Sie vorher Ihre Tabelle vorher abspeichern?(J/N): ");
String kbord = abfrage();
kbord = kbord.toUpperCase();

View File

@ -1,10 +1,13 @@
package de.hs_mannheim.informatik.spreadsheet;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.ArrayList;
/**
* A simplified spreadsheet class for the PR1 programming lab at Hochschule Mannheim.
@ -121,6 +124,30 @@ public class Spreadsheet {
*/
public void readCsv(String path, char separator, String startCellName) throws FileNotFoundException {
// TODO: implement this
ArrayList<String> lines = readFile(path);
String[] einzelnde_lines = new String[lines.size()];
int row_startcell = getRow(startCellName);
int col_startcell = getCol(startCellName);
String[][] zwischenspeicher = new String[cells.length - row_startcell][cells[0].length - col_startcell];
for (int i = 0; i < einzelnde_lines.length; i++) {
zwischenspeicher[i] = lines.get(i).split(separator+""); // +"" um aus dem Char ein String zu machen
for (int j = 0; j < zwischenspeicher[i].length; j++) {
put(row_startcell+i,col_startcell+j,zwischenspeicher[i][j]);
}
}
}
public static ArrayList<String> readFile(String path) throws FileNotFoundException {
ArrayList<String> lines = new ArrayList<>();
Scanner sc = new Scanner(new File(path));
while (sc.hasNextLine()) {
lines.add(sc.nextLine());
}
sc.close();
return lines;
}
/**