anfänger Problem

G-style04

Grünschnabel
ich bin dabei ein "eigentlich" ganz einfaches Programm zu schreiben.

In sachen java bin ich noch ziehmlicher anfänger.

Meine frage: wie übergebe ich eine Variabel in einer if anweisung?
-so dass eine unterscheidung erfolgt was ausgeführt wird ist erstmal egal

import java.awt.*;
import java.io.*;

public class Fenster extends Frame
{

public static void main (String args[])
{
int zufallszahl;
zufallszahl = 1+ (int)(6* Math.random());
System.out.println("Zahl: "+ zufallszahl);
Fenster rahmen = new Fenster();
}

public Fenster ()
{
addWindowListener(new WindowClosingAdapter());
setSize(200, 200);
setLocation(50, 50);
setTitle("Grundrahmen");
setVisible(true);
}
public void paint(Graphics g)
{
if(zufallszahl == 6)
{
g.setColor(Color.red);
g.drawString("Hallo",10,50);
}
else
{
g.setColor(Color.red);
g.fillOval(10,50,100,100);
}
}
}
 
Hallo,
also ob es ein if ist ist nicht so wichtig. die zahl muss dort gültig/bekannt sein wo sie verwendet wird. wenn du die zahl nur in deiner main methode definierst ist sie nur dort gültig. wenn das if in der main methode steht geht alles einfach. wenn das if in einer anderen methode steht musst du hier die variable auch bekannt geben. entweder durch eine übergabe beim methodenaufruf oder du definierst die variable global.

globale definition:

public class Fenster extends Frame {
static int zufallszahl;
public static void main(String args[]) {
zufallszahl = 1 + (int) (6 * Math.random());
....


oder du übergibst die zahl immer in den methodenaufrufen.
methode(int zufallszahl) { ......

tschüss
 
Zuletzt bearbeitet:
Da die Zufallszahl zur Fenster-Instanz gehört musst Du sie auch nicht als static definieren, sondern kannst die Zufallszahlenerzeugung auch in den Konstruktor von Fenster verlagern.
Du musst die Instanz von Fenster auch keiner Variablen zuordnen (, da du auf diese eh nicht wieder zugreifen kannst).
Code:
import java.awt.*;
import java.io.*;

public class Fenster extends Frame {
    private int zufallszahl;

    public static void main (String args[]) {
        new Fenster();
    }

    public Fenster () {
        addWindowListener(new WindowClosingAdapter());
        this.zufallszahl = 1+ (int)(6* Math.random());
        System.out.println("Zahl: "+ this.zufallszahl);
        setSize(200, 200);
        setLocation(50, 50);
        setTitle("Grundrahmen");
        setVisible(true);
    }

    public void paint(Graphics g) {
        if(this.zufallszahl == 6) {
            g.setColor(Color.red);
            g.drawString("Hallo",10,50);
        } else {
            g.setColor(Color.red);
            g.fillOval(10,50,100,100);
        }
    }
}
Gruß hpvw
 
Zurück