christianSch
Grünschnabel
Habe ein Programm, welches ich wie folgt ab ändern soll.....hab mich zwar schon dran versucht, aber jeglich gescheitert. Hab tierische Probleme mit Dialogen und Schleifen, bitte nicht zu hart ins Gericht-bin blutjunger Anfänger
Im ersten Dialog: Frage wieviel Zeilen generiert und wohin gespeichert werden soll, danach Schleife - eine Auswahl ermöglichen ob man eine Spalte hinzufügen möchte. dann wieder
eine Auswahlbox mit welcher Funktion man es füllen möchte: Inkrement, Zufallszahlen mit Range oder Inkrement (hochzählen) dann ein Button "generieren" dann wieder zurück "wollen sie eine spalte hinzufügen" etc. ...........
Wäre nett wenn mir jemand helfen könnte
Im ersten Dialog: Frage wieviel Zeilen generiert und wohin gespeichert werden soll, danach Schleife - eine Auswahl ermöglichen ob man eine Spalte hinzufügen möchte. dann wieder
eine Auswahlbox mit welcher Funktion man es füllen möchte: Inkrement, Zufallszahlen mit Range oder Inkrement (hochzählen) dann ein Button "generieren" dann wieder zurück "wollen sie eine spalte hinzufügen" etc. ...........
Wäre nett wenn mir jemand helfen könnte
Code:
package ok;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.util.BitSet;
import java.util.Random;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class MyDialog extends JDialog
{
private int[][] array;
GridLayout gridLayout = new GridLayout(2, 1);
JPanel panel = new JPanel();
JButton jbCreate = new JButton("Datei erzeugen");
JLabel jlZeilen = new JLabel("Zeilenanzahl:");
JLabel jlSpalten = new JLabel("Spaltenanzahl:");
JTextField jtfZeilen = new JTextField();
JTextField jtfSpalten = new JTextField();
MyDialog()
{
setTitle("Testdatengenerator von xxx");
this.setSize(300, 400);
panel.setLayout(new GridLayout(2,2));
panel.add(jlZeilen);
panel.add(jtfZeilen);
panel.add(jlSpalten);
panel.add(jtfSpalten);
this.getContentPane().setLayout(gridLayout);
this.getContentPane().add(panel);
this.getContentPane().add(jbCreate);
jbCreate.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
createFile();
}
});
}
private void createFile()
{
int iZeilen = Integer.parseInt(jtfZeilen.getText());
int iSpalten = Integer.parseInt(jtfSpalten.getText());
NumberGenerator ng = new NumberGenerator(iZeilen, iSpalten);
array = ng.getResult();
saveToFile();
System.exit(0);
}
public void saveToFile()
{
try
{
FileOutputStream fos =
new FileOutputStream("c:/Dokumente und Einstellungen/xxxxxxxx.txt");
PrintStream output = new PrintStream(fos);
for (int i = 0; i < array.length; i++)
{
for (int j = 0; j < array[i].length; j++)
{
output.print(array[i][j] + "\t");
}
output.println();
}
output.close();
System.out.println("Datei zufallstest.txt wurde erstellt");
}
catch (FileNotFoundException e)
{
System.out.println("Schreiben fehlgeschlagen");
}
} //-- End method saveToFile()
private class NumberGenerator
{
private int[][] array;
public NumberGenerator(int row, int column)
{
create(row, column);
}
public int[][] getResult()
{
return array;
}
public void create(int row, int column)
{
array = new int[row][column];
for (int i = 0; i < row; i++)
{
for (int j = 0; j < column; j++)
{
System.out.print((int) (Math.random() * 60000) + " ");
array[i][j] = (int) (Math.random() * 9000);
}
System.out.println();
}
}
public void generate(int rows, int column)
{
BitSet b = new BitSet();
Random r = new Random();
int cnt = 0;
while (cnt < rows)
{
//int num = 1 + Math.abs(r.nextInt()) % 49000;
int num = 1 + Math.abs(r.nextInt()) % 49000;
if (!b.get(num))
{
b.set(num);
++cnt;
}
}
for (int i = 5; i <= 49000; ++i)
{
if (b.get(i))
{
System.out.println(i + " ");
}
}
System.out.println("");
}
} //-- End class NumberGenerator
public static void main(String args[])
{
MyDialog myDialog = new MyDialog();
myDialog.show();
} //-- End method main
}