Hallo.
Hier habe ich mal ein Programm geschrieben, welches die zufällig generierten (Gleichverteilung) Zahlen in eine Excel Datei speichern soll.
Ich brauche diese Daten, um später eine Lorenzkurve grafisch darzustellen und den Gini-Koeffizienten zu berechnen.
Leider schreibt diese Methode keine Daten in die Excel Datei. Hier einmal die Methode:
Vollständiger Code:
Main:
Kann mir jemand dabei behilflich sein? Danke
Mit freundlichen Grüßen
Hier habe ich mal ein Programm geschrieben, welches die zufällig generierten (Gleichverteilung) Zahlen in eine Excel Datei speichern soll.
Ich brauche diese Daten, um später eine Lorenzkurve grafisch darzustellen und den Gini-Koeffizienten zu berechnen.
Leider schreibt diese Methode keine Daten in die Excel Datei. Hier einmal die Methode:
Java:
public void eintrag() {
HSSFWorkbook datei = new HSSFWorkbook();
Sheet blatt = datei.createSheet("Gleichverteilung"); //erstellt ein neues Sheet in Excel
for (int i =0;i<liste.length;i++) {
Row reihe = blatt.createRow(0);
Cell zelle = reihe.createCell(i);
zelle.setCellValue(liste[i]);
}
try {
FileOutputStream out = new FileOutputStream("Gleichverteilung.xls");
datei.write(out);
out.close();
} catch(Exception e) {
}
}
Vollständiger Code:
Code:
package a5;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import java.io.FileOutputStream;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Cell;
import java.util.Random;
import java.util.Arrays;
public class Gleichverteilung {
int[] liste; //Array wird definiert als "liste"
Random zufall = new Random(); // wird erzeugt für Klasse erzeugenUnsortiert()
int plätze;
public void erzeugeZufallszahl(int plätze,int oberGrenze) {
//Erzeugt nicht gleichverteilte Zufallszahlen (doppelte sind möglich)
this.plätze = plätze;
liste = new int [plätze];
//Anzahl an Plätze wird übergeben
for (int i=0; i<liste.length;i++) {
liste[i] = zufall.nextInt(oberGrenze);
// Liefert eine int-Pseudo-Zufallszahl im Bereich von 0 bis oberGrenze
}
Arrays.sort(liste);
}
public void eintrag() {
HSSFWorkbook datei = new HSSFWorkbook();
Sheet blatt = datei.createSheet("Gleichverteilung"); //erstellt ein neues Sheet in Excel
for (int i =0;i<liste.length;i++) {
Row reihe = blatt.createRow(0);
Cell zelle = reihe.createCell(i);
zelle.setCellValue(liste[i]);
}
try {
FileOutputStream out = new FileOutputStream("Gleichverteilung.xls");
datei.write(out);
out.close();
} catch(Exception e) {
}
}
public static void main (String[] args) {
}
}
Main:
Java:
package a5;
public class Main2 {
public static void main (String[] args) {
Gleichverteilung g = new Gleichverteilung();
g.erzeugeZufallszahl(10,20);
g.eintrag();
}
}
Kann mir jemand dabei behilflich sein? Danke
Mit freundlichen Grüßen
Zuletzt bearbeitet: