Hallo Mitprogrammierer und russische Hacker
.
Ich bin neu beim programmieren und ein guter Freund hat mir eine Aufgabe gegeben.
Ich soll eine vereinfachte Version des Infinite Monkey Theorem in Java programmieren.
Ein Wort, welches ich eingegeben habe, soll per Zufall 100% in einem String gefunden werden.
Es soll ein Eingabefeld mit max. 10 Zeichen und Buchstaben only geben (bereits erledigt).
Einen Start und Restart Button.
Einen Timer und eine Prozent-anzeige.
Und zuguter letzt einen Random String, welcher das ganze Alphabet beinhaltet und 26 Zeichen lang ist. Den String hab ich schon generieren können, allerdings bräuchte ganz viele neue Strings, so lange, bis ich das eingegebene Wort zu 100% gefunden habe.
Ich sitze nun schon länger an diesem blöden String und komme ums verrecken nicht weiter.
Ich hoffe, ich habe genug Informationen für euch, denn das ist mein erster Post.
Genauso hoffe ich, dass ihr mir weiter helfen könnt.
MfG
Heinz
und
Ich bin neu beim programmieren und ein guter Freund hat mir eine Aufgabe gegeben.
Ich soll eine vereinfachte Version des Infinite Monkey Theorem in Java programmieren.
Ein Wort, welches ich eingegeben habe, soll per Zufall 100% in einem String gefunden werden.
Es soll ein Eingabefeld mit max. 10 Zeichen und Buchstaben only geben (bereits erledigt).
Einen Start und Restart Button.
Einen Timer und eine Prozent-anzeige.
Und zuguter letzt einen Random String, welcher das ganze Alphabet beinhaltet und 26 Zeichen lang ist. Den String hab ich schon generieren können, allerdings bräuchte ganz viele neue Strings, so lange, bis ich das eingegebene Wort zu 100% gefunden habe.
Ich sitze nun schon länger an diesem blöden String und komme ums verrecken nicht weiter.
Ich hoffe, ich habe genug Informationen für euch, denn das ist mein erster Post.
Genauso hoffe ich, dass ihr mir weiter helfen könnt.
MfG
Heinz
Java:
package IMTprojekt;
import java.awt.*;
import java.awt.event.*;
import java.util.concurrent.TimeUnit;
import javax.swing.*;
public class Windoof extends JFrame
{
private static final long serialVersionUID = 1L;
private JButton restartButton = new JButton("Restart!");
private JButton startButton = new JButton("Start!");
private Begrenzer FieldBegrenzer = new Begrenzer();
private JLabel RandomString;
private JProgressBarDemo Prozentanzeige = new JProgressBarDemo();
private DurationSleeper schnell;
public Windoof()
{
char[]zufall = new char[35];
new Thread(new Runnable()
{
@Override public void run()
{
for (int i = 0; i < zufall.length; i++)
{
final int j = i;
SwingUtilities.invokeLater(new Runnable()
{
@Override public void run()
{
zufall[j] = (char) ('a' + 26*Math.random());
System.out.println(zufall);
}
} );
}
}
} ).start();
String nSTRING = String.valueOf(zufall);
// long schnell2 = Long.parseLong(nSTRING);
// schnell = new DurationSleeper(schnell2, TimeUnit.MILLISECONDS);
RandomString = new JLabel("Unleserlich: " + nSTRING);
setTitle("Infinite Monkey Theorem");
setVisible(true);
add(Prozentanzeige);
add(startButton);
add(restartButton);
add(FieldBegrenzer);
add(RandomString);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(null);
setResizable(false);
setSize(new Dimension(500, 200));
RandomString.setBounds(10, 146, 490, 22);
FieldBegrenzer.setBounds(10, 10, 80, 22);
Prozentanzeige.setBounds(100, 10, 100, 22);
startButton.setBounds(10, 100, 80, 22);
startButton.addActionListener(new StartHörer());
restartButton.setBounds(10, 123, 80, 22);
restartButton.addActionListener(new RestartHörer());
Prozentanzeige.setStringPainted(true);
}
public class Begrenzer extends JTextField
{
private static final long serialVersionUID = 1L;
public void replaceSelection(String text)
{
if (text.matches("[a-z]") && getText().length() < 10)
{
super.replaceSelection(text);
}
}
}
private class StartHörer implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
}
}
private class RestartHörer implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
}
}
}
und
Java:
package IMTprojekt;
public class InfiniteMonkeyTheorem
{
public static void main(String[] args)
{
Windoof fenster = new Windoof();
}
}