AWT Arrays im Classteil deklarieren

Tandrael

Mitglied
Hallo,

Ich habe ein Problem: Ich möchte meine Arrays im Class-Teil deklarieren, weil, wenn ich sie im public-Teil deklarieren, kann ich im Action-Listener-Teil nicht darauf zugreifen. Ich hoffe, ihr versteht mein Problem, wenn ihr den Code mit dem dazugehörigen Fehler seht.

Viele Grüße
Tandrael

Java:
import java.awt.*;
import java.awt.event.*;
import java.math.*;
import java.io.*;
	//Import der Pakete

class WaffenundWerkzeuge11 extends Frame implements ActionListener
{
	int s1Waffen = 20;
	int s1Werkzeuge = 20;
	int s1Bevoelkerung = 30;
	int s1Waffenplus = 5;
	int s1Werkzeugeplus = 5;
	int s1Bevoelkerungsplus = 5;
	int s1Mauer = 30;
		//Spieler1

	int s2Waffen = 20;
	int s2Werkzeuge = 20;
	int s2Bevoelkerung = 30;
	int s2Waffenplus = 5;
	int s2Werkzeugeplus = 5;
	int s2Bevoelkerungsplus = 5;
	int s2Mauer = 30;
		//Spieler2


		Button k1play = new Button ("Spielen");
		Button k2play = new Button ("Spielen");
		Button k3play = new Button ("Spielen");
		Button k4play = new Button ("Spielen");
		Button k5play = new Button ("Spielen");
		Button endturn = new Button ("Zug beenden");
		//Buttons

		Label Gewinner = new Label("");

		Label Spieler = new Label("Spieler 1");

		Label s1MauerLabel = new Label(String.valueOf(s1Mauer));
		Label s1WaffenLabel = new Label(String.valueOf(s1Waffen));
		Label s1WerkzeugeLabel = new Label(String.valueOf(s1Werkzeuge));
		Label s1BevoelkerungLabel = new Label(String.valueOf(s1Bevoelkerung));
		Label s1WaffenplusLabel = new Label(String.valueOf(s1Waffenplus));
		Label s1WerkzeugeplusLabel = new Label(String.valueOf(s1Werkzeugeplus));

		Label s2MauerLabel = new Label(String.valueOf(s2Mauer));
		Label s2WaffenLabel = new Label(String.valueOf(s2Waffen));
		Label s2WerkzeugeLabel = new Label(String.valueOf(s2Werkzeuge));
		Label s2BevoelkerungLabel = new Label(String.valueOf(s2Bevoelkerung));
		Label s2WaffenplusLabel = new Label(String.valueOf(s2Waffenplus));
		Label s2WerkzeugeplusLabel = new Label(String.valueOf(s2Werkzeugeplus));
		//Labels

		int arrayposition = 0;

		int Laufvariable = 1;
		//Laufvariable

		double Zufallszahl;
		//Zufallszahl zur Kartenbestimmung

	//Deklaration

	public WaffenundWerkzeuge11()
	{

		addWindowListener(new WindowAdapter ()
		{
			public void windowClosing (final WindowEvent e)
			{
				System.exit(0);
			}
    		}
    	);
    	//WindowListener

		int Angriff[] = new int [15];
		Angriff[0] = 1;
		Angriff[1] = 10;
		Angriff[2] = 5;
		Angriff[3] = 20;
		Angriff[4] = 10;

		int Verteidigung[] = new int [15];
		Verteidigung[5] = 1;
		Verteidigung[6] = 15;
		Verteidigung[7] = 7;
		Verteidigung[8] = 4;
		Verteidigung[9] = 20;

		int Bevoelkerung[] = new int [15];
		Bevoelkerung[0] = 1;
		Bevoelkerung[2] = 10;
		Bevoelkerung[3] = 10;
		Bevoelkerung[4] = 5;
		Bevoelkerung[5] = 1;
		Bevoelkerung[11] = 10;
		Bevoelkerung[12] = 1;
		Bevoelkerung[13] = 1;

		int Waffen[] = new int [15];
		Waffen[0] = 1;
		Waffen[1] = 5;
		Waffen[3] = 10;
		Waffen[4] = 5;
		Waffen[9] = 5;
		Waffen[14] = 10;

		int Werkzeuge[] = new int [15];
		Werkzeuge[1] = 5;
		Werkzeuge[5] = 1;
		Werkzeuge[6] = 15;
		Werkzeuge[7] = 7;
		Werkzeuge[8] = 4;
		Werkzeuge[9] = 10;
		Werkzeuge[0] = 10;
		Werkzeuge[0] = 5;
		Werkzeuge[0] = 10;
		Werkzeuge[0] = 10;

		int Waffenplus[] = new int [15];
		Waffenplus[11] = 1;
		Waffenplus[12] = 2;

		int Werkzeugeplus[] = new int [15];
		Werkzeugeplus[11] = 1;
		Werkzeugeplus[13] = 2;

		int Bevoelkerungplus[] = new int [15];
		Bevoelkerungplus[10] = 20;
		Bevoelkerungplus[14] = 20;


		setLayout(null);
		//Layout

		add(s1MauerLabel);
			s1MauerLabel.setBounds(200,175,20,20);
		add(s1WaffenLabel);
			s1WaffenLabel.setBounds(20,50,20,20);
		add(s1WerkzeugeLabel);
			s1WerkzeugeLabel.setBounds(20,100,20,20);
		add(s1BevoelkerungLabel);
			s1BevoelkerungLabel.setBounds(20,150,20,20);
		add(s1WaffenplusLabel);
			s1WaffenplusLabel.setBounds(40,50,20,20);
		add(s1WerkzeugeplusLabel);
			s1WerkzeugeplusLabel.setBounds(40,100,20,20);


		add(s2MauerLabel);
			s2MauerLabel.setBounds(580,175,20,20);
		add(s2WaffenLabel);
			s2WaffenLabel.setBounds(750,50,20,20);
		add(s2WerkzeugeLabel);
			s2WerkzeugeLabel.setBounds(750,100,20,20);
		add(s2BevoelkerungLabel);
			s2BevoelkerungLabel.setBounds(750,150,20,20);
		add(s2WaffenplusLabel);
			s2WaffenplusLabel.setBounds(770,50,20,20);
		add(s2WerkzeugeplusLabel);
			s2WerkzeugeplusLabel.setBounds(770,100,20,20);

		add(Gewinner);
			Gewinner.setBounds(300,120,200,20);
		add(Spieler);
			Spieler.setBounds(300,80,200,20);
		//Label einfügen


		add(k1play);
			k1play.setBounds(0,310,160,20);
			k1play.setBackground(new Color(140,110,0));
		add(k2play);
			k2play.setBounds(160,310,160,20);
			k2play.setBackground(new Color(140,110,0));
		add(k3play);
			k3play.setBounds(320,310,160,20);
			k3play.setBackground(new Color(140,110,0));
		add(k4play);
			k4play.setBounds(480,310,160,20);
			k4play.setBackground(new Color(140,110,0));
		add(k5play);
			k5play.setBounds(640,310,160,20);
			k5play.setBackground(new Color(140,110,0));
		add(endturn);
			endturn.setBounds(300,100,200,20);
			endturn.setBackground(new Color(140,110,0));
		//Buttons einfügen

		int s1karten[] = new int[5];

		for(int i = 0;i<s1karten.length;i++)
		{
			Zufallszahl = Math.random();
			Math.round(Zufallszahl*62);
			if(Zufallszahl<=6)
			{
				s1karten[i] = 1;
			}
			if(Zufallszahl>=7&&Zufallszahl<=9)
			{
				s1karten[i] = 2;
			}
			if(Zufallszahl>=10&&Zufallszahl<=18)
			{
				s1karten[i] = 3;
			}
			if(Zufallszahl>=19&&Zufallszahl<=21)
			{
				s1karten[i] = 4;
			}
			if(Zufallszahl>=22&&Zufallszahl<=26)
			{
				s1karten[i] = 5;
			}
			if(Zufallszahl>=27&&Zufallszahl<=36)
			{
				s1karten[i] = 6;
			}
			if(Zufallszahl>=27&&Zufallszahl<=38)
			{
				s1karten[i] = 7;
			}
			if(Zufallszahl>=39&&Zufallszahl<=44)
			{
				s1karten[i] = 8;
			}
			if(Zufallszahl>=45&&Zufallszahl<=50)
			{
				s1karten[i] = 9;
			}
			if(Zufallszahl==51)
			{
				s1karten[i] = 10;
			}
			if(Zufallszahl>=52&&Zufallszahl<=54)
			{
				s1karten[i] = 11;
			}
			if(Zufallszahl==55)
			{
				s1karten[i] = 12;
			}
			if(Zufallszahl>=56&&Zufallszahl<=58)
			{
				s1karten[i] = 13;
			}
			if(Zufallszahl>=59&&Zufallszahl<=61)
			{
				s1karten[i] = 14;
			}
			if(Zufallszahl==62)
			{
				s1karten[i] = 15;
			}
		}
		//Anfangskarten Spieler1

		int s2karten[] = new int[5];

		for(int i = 0;i<s2karten.length;i++)
		{
			Zufallszahl = Math.random();
			Math.round(Zufallszahl*62);
			if(Zufallszahl<=6)
			{
				s2karten[i] = 1;
			}
			if(Zufallszahl>=7&&Zufallszahl<=9)
			{
				s2karten[i] = 2;
			}
			if(Zufallszahl>=10&&Zufallszahl<=18)
			{
				s2karten[i] = 3;
			}
			if(Zufallszahl>=19&&Zufallszahl<=21)
			{
				s2karten[i] = 4;
			}
			if(Zufallszahl>=22&&Zufallszahl<=26)
			{
				s2karten[i] = 5;
			}
			if(Zufallszahl>=27&&Zufallszahl<=36)
			{
				s2karten[i] = 6;
			}
			if(Zufallszahl>=27&&Zufallszahl<=38)
			{
				s2karten[i] = 7;
			}
			if(Zufallszahl>=39&&Zufallszahl<=44)
			{
				s2karten[i] = 8;
			}
			if(Zufallszahl>=45&&Zufallszahl<=50)
			{
				s2karten[i] = 9;
			}
			if(Zufallszahl==51)
			{
				s2karten[i] = 10;
			}
			if(Zufallszahl>=52&&Zufallszahl<=54)
			{
				s2karten[i] = 11;
			}
			if(Zufallszahl==55)
			{
				s2karten[i] = 12;
			}
			if(Zufallszahl>=56&&Zufallszahl<=58)
			{
				s2karten[i] = 13;
			}
			if(Zufallszahl>=59&&Zufallszahl<=61)
			{
				s2karten[i] = 14;
			}
			if(Zufallszahl==62)
			{
				s2karten[i] = 15;
			}
		}
		//Anfangskarten Spieler2

		k1play.addActionListener(this);
		k2play.addActionListener(this);
		k3play.addActionListener(this);
		k4play.addActionListener(this);
		k5play.addActionListener(this);
		endturn.addActionListener(this);
		//ActionListener

	}
	//Klassenblock

	public void actionPerformed(ActionEvent x)
	{
		Gewinner.setText(Integer.toString(Angriff[0]));
		if(s1Mauer<=0)
		{
			Gewinner.setText("Spieler 2 gewinnt!");
		}
		if(s2Mauer<=0)
		{
			Gewinner.setText("Spieler 1 gewinnt");
		}
	}
	//ActionListenerblock

	public static void main (String args[])
	{
		WaffenundWerkzeuge11 w = new WaffenundWerkzeuge11();
		w.setVisible(true);
		w.setSize(800,600);
		w.setTitle("WaffenundWerkzeuge");
	}
	//Mainblock
}
//Programmende

Code:
G:\Schule\Info - Java\WaffenundWerkzeuge11.java:343: cannot find symbol
symbol  : variable Angriff
location: class WaffenundWerkzeuge11
		Gewinner.setText(Integer.toString(Angriff[0]));
		                                  ^
1 error

Prozess beendet mit Exit-Code 1
 

Camill

Bekanntes Mitglied
Java:
class WaffenundWerkzeuge11 extends Frame implements ActionListener
{
	//...
	int[] Angriff;

	public WaffenundWerkzeuge11()
	{
		//...
		Angriff = new int [15];
		Angriff[0] = 1;
		//...
		
	}

	public void actionPerformed(ActionEvent x)
	{
		Gewinner.setText(Integer.toString(Angriff[0]));
		if(s1Mauer<=0)
		{
			Gewinner.setText("Spieler 2 gewinnt!");
		}
		if(s2Mauer<=0)
		{
			Gewinner.setText("Spieler 1 gewinnt");
		}
	}
	//...
}

Löst das dein Problem oder habe ich etwas falsch verstanden?
 

bERt0r

Top Contributor
Achja, es geht übrigens auch so:
Java:
int[] array={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
 

Ähnliche Java Themen


Oben