S
SummerYam92
Gast
Hi,
also ich soll über die Ferien die Monte Carlo Methode in Java darrstellen.
Leider habe ich gar keine Ahnung von Java, daher frage ich hier mal nach.
Das ist das Grundgerüst was wir benutzen sollen:
Meine Frage wäre jetzt, wie lerne ich am schnellsten, wie ich die Aufgabe löse?
Ich habe kein Interesse Java an sich zulernen, da ich es nur für diese Aufgabe brauche und sonst vermutlich nie wieder.
Falls jmd die Aufgabe einfach so lösen möchte habe ich auch nichts dagegen
, mir würde es aber auch reichen wenn ihr mir links zu tutorials gibt, die genau das ansprechen, was ich hier benötige.
also ich soll über die Ferien die Monte Carlo Methode in Java darrstellen.
Leider habe ich gar keine Ahnung von Java, daher frage ich hier mal nach.
Das ist das Grundgerüst was wir benutzen sollen:
Java:
import java.awt.Graphics;
import javax.swing.*;
import java.awt.Color;
import java.awt.Font;
class DrawPanel extends JPanel
{
protected void paintComponent( Graphics g )
{
super.paintComponent( g );
ZubehoerMonteCarlo.durchfuehrungDesVersuchs(g);
}
}
class ZubehoerMonteCarlo
{
//Anzahl der Pixel entspricht demRadius des Kreises / der halben Seitenlänge des Quadrats
public static int anzahlPixel = 1001; //von 0 bis 1000
//Anzahl der Punkte, die in der Simulation erzeugt, gezeichnet und ausgewertet werden
public static int anzahlPunkte = 10000;
public static void MonteCarlo (int anzPixel)
//Bietet die Möglichkeit, die Eigenschaft anzahlPixel zu ändern.
//Besonderheit: ..... (bitte ausfüllen!!!!!)
{
...
}
public static int wuerfeln()
//Würfelt eine Zufallszahl im passenden Bereich
{
...
}
public static void zeichneKreis(Graphics g)
//Zeichnet einen blauen, nicht ausgefüllten Kreis
//mit maximal möglichem Radius und Mittelpunkt im
//Zentrum des Quadrats
{
...
}
public static void zeichneRechteck(Graphics g)
//Zeichnet ein schwarzes, nicht ausgefülltes Quadrat
//mit Seitenlänge anzahlPixel
{
...
}
public static boolean istImKreis(int x, int y)
//Prüft, ob eine Position sich innerhalb des Kreises befindet.
//Hierbei wird "auf der Kreislinie" ebenfalls als im Kreis gedeutet.
//Ist die Position im Kreis, wird true zurückgegeben, sonst false.
{
...
}
public static void zeichnePunkt(int x, int y, Graphics g)
//Zeichnet ein grünen bzw. einen roten Punkt (ausgefüllter Kreis, Durchmesser 5px)
//an der Position (x , y) (Mittelpunkt des Punktes!)
//Punkte innerhalb des Kreises sollen grün gezeichnet werden,
//Punkte außerhalb des Kreises sollen rot gezeichnet werden.
{
...
}
public static int[] generierePunkt()
//Generiert eine x- und eine y-Koordinate und erstellt
//hieraus einen Punkt, der in Form eines int-Arrays
//zurückgegeben wird.
//Der Punkt wird in dieser Funktion noch nicht gezeichnet!!
{
...
}
public static void durchfuehrungDesVersuchs(Graphics g)
//Führt die MonteCarlo-Simulation durch, indem der Kreis, das Rechteck
//und die generierten Punkte gezeichnet werden.
//Zudem wird festgehalten, wie viele der Punkte im Kreis lagen.
//Hieraus wird PI berechnet.
//Die Ergebnisse werden als Text in die Grafik geschrieben (Farbe gelb).
{
...
}
}
public class MonteCarlo
{
public static void main( String[] args )
{
JFrame f = new JFrame();
f.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
f.setSize( ZubehoerMonteCarlo.anzahlPixel+100, ZubehoerMonteCarlo.anzahlPixel+100 );
f.getContentPane().add( new DrawPanel() );
f.setVisible( true );
}
}
Meine Frage wäre jetzt, wie lerne ich am schnellsten, wie ich die Aufgabe löse?
Ich habe kein Interesse Java an sich zulernen, da ich es nur für diese Aufgabe brauche und sonst vermutlich nie wieder.
Falls jmd die Aufgabe einfach so lösen möchte habe ich auch nichts dagegen
Zuletzt bearbeitet von einem Moderator: