Hilfe gesucht

Hallo alle miteinander,
ich bin neu ihr und bring mir grad Java bei. Ich bräuchte eure Hilfe, denn mein Code ist bissel unübersichtlich und teile unnötig ich weiß allerdings nicht wie ich ihn "verbessern kann".
Könntet ihr mir bitte helfen? also konstruktive Vorschläge und Anregungen wie man was am besten machen könnte. Mit kleinen beispiel wie es aussehen könnte ;)

Java:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;




public class frame extends JFrame implements ActionListener {

	private static final long serialVersionUID = 1L;
	
	private JButton info;
	private JButton nnew;
	private JButton load;
	private JButton ende;

	
	public static void main(String[] args) {
		
		frame frame = new frame("Menü");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setSize(400,400);
		frame.setLayout(null);
		frame.setVisible(true);

	}
	
	public frame(String title){
		super(title);
		
		info = new JButton("Info");
		info.setBounds(120, 0, 160, 50);
		info.addActionListener(this);
		add(info);
		
		nnew = new JButton("Neues Spiel Starten");
		nnew.setBounds(120,80,160,50);
		nnew.addActionListener(this);
		add(nnew);
		
		load = new JButton("Spiel Laden");
		load.setBounds(120,160,160,50);
		load.addActionListener(this);
		add(load);
		
		ende = new JButton("Ende");
		ende.setBounds(120,240,160,50);
		ende.addActionListener(this);
		add(ende);
		
	}


	@Override
	public void actionPerformed(ActionEvent e) {
		
		
		if(e.getSource() == info){
			Object[] options ={"OK"};
			
			JOptionPane.showOptionDialog(null,"Dies ist ein Wirdschaft Simulator aber nicht viel Grafisch.\n Deswegen bitte ich dies zu berücksichtigen.\nDieses Spiel funktioniert so: \n "
					+ "Sie kaufen eins der angebote der rechten seite und bekommen dafür eine entsprechende Summe Geld pro Secunde.\n Mit dem neu gewonnen Geld übereinen Zeitraum "
					+ "können sie neu und bessere verdienst möglichkeiten kaufen unm ihren ertrag pro sekunde zu steigern.\n Jedoch je öfters sie ein Upgrat machen des do teurer wird es.\n"
					+ "Sie können sich allerdings noch Werbungs-material kaufen das wiederum steigert ihr sekunden einkommen um eine angegebene Prozentzahl.\n"
					+ "diese können aber maximal 10 pro werbematerial gekauft werden.","Informationen/Erklärung",JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,options,options[0]);
		}
		else if(e.getSource() == nnew){
			fenster();
		}
		else if(e.getSource() == load){
			lade_fenster();
		}else if(e.getSource() == ende){
			System.exit(0);
		}
		
	}
	
	public static void fenster(){
		
		JFrame fenster = new JFrame("Wirdschafts-Simulator");
		fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		fenster.setSize(1800,400);
		fenster.setVisible(true);
		fenster.setResizable(false);
		fenster.setLocationRelativeTo(null); 
		fenster.add(new gui());

	}
	

	
	public static void lade_fenster(){
		JFrame lade_fenster = new JFrame("Laden");
		lade_fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		lade_fenster.setSize(500,500);
		lade_fenster.setLayout(null);
		lade_fenster.setVisible(true);
		
	}
}

Java:
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;


public class gui extends JPanel  implements ActionListener  {

	private static final long serialVersionUID = 1L;



	public void nicht_geld(){
		Object[] options ={"OK"};
		
		JOptionPane.showOptionDialog(null,"Nicht genügend Geld","Informationen/Erklärung",JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,options,options[0]);
	}
	
	public void zu_viel(){
		Object[] options ={"OK"};
		
		JOptionPane.showOptionDialog(null,"Maximal erreicht","Informationen/Erklärung",JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,options,options[0]);
	}
	
	
		
	int[] anzahl = new int[17];
	double[] kosten = new double[17];
	double[] steigern = new double[17];

	double geld 	     = 200;
	double geld_sec		 = 0;

	anzahl[0] = 0;
	anzahl[1] = 0;
	anzahl[2] = 0;
	anzahl[3] = 0;
	anzahl[4] = 0;
	anzahl[5] = 0;
	anzahl[6] = 0;
	anzahl[7] = 0;
	anzahl[8] = 0;
	anzahl[9] = 0;
	anzahl[10] = 0;
	anzahl[11] = 0;
	anzahl[12] = 0;
	anzahl[13] = 0;
	anzahl[14] = 0;
	anzahl[15] = 0;
	anzahl[16] = 0;
	
	kosten[0] = 5000;
	kosten[1] = 8000;
	kosten[2] = 15000;
	kosten[3] = 40000;
	kosten[4] = 80000;
	kosten[5] = 150000;
	kosten[6] = 190000;
	kosten[7] = 100;
	kosten[8] = 500;
	kosten[9] = 5600;
	kosten[10] = 18000;
	kosten[11] = 40000;
	kosten[12] = 240000;
	kosten[13] = 400000;
	kosten[14] = 950000;
	kosten[15] = 1200000;
	kosten[16] = 1900000;
	
	steigern[0] = 1;
	steigern[1] = 1.5;
	steigern[2] = 2;
	steigern[3] = 3;
	steigern[4] = 5;
	steigern[5] = 6.5;
	steigern[6] = 9;
	steigern[7] = 0.50;
	steigern[8] = 1;
	steigern[9] = 2.5;
	steigern[10] = 7.30;
	steigern[11] = 19.70;
	steigern[12] = 37.60;
	steigern[13] = 69.75;
	steigern[14] = 99.10;
	steigern[15] = 130;
	steigern[16] = 205.30;
	
	
	private JButton plus;
	private JButton plus1;
	private JButton plus2;
	private JButton plus3;
	private JButton plus4;
	private JButton plus5;
	private JButton plus6;
	private JButton plus7;
	private JButton plus8;
	private JButton plus9;
	
	private JButton save;
	
	private JButton plusA;
	private JButton plusA1;
	private JButton plusA2;
	private JButton plusA3;
	private JButton plusA4;
	private JButton plusA5;
	private JButton plusA6;
	
	
	public gui(){
		

		plus = new JButton("+");
		plus.setBounds(25, 300, 100, 100);
		plus.addActionListener(this);
		add(plus);
		
		plus1 = new JButton("+");
		plus1.setBounds(50, 300, 100, 100);
		plus1.addActionListener(this);
		add(plus1);
		
		plus2 = new JButton("+");
		plus2.setBounds(75, 300, 100, 100);
		plus2.addActionListener(this);
		add(plus2);
		
		plus3 = new JButton("+");
		plus3.setBounds(100,300, 100, 100);
		plus3.addActionListener(this);
		add(plus3);
		
		plus4 = new JButton("+");
		plus4.setBounds(125, 300, 100, 100);
		plus4.addActionListener(this);
		add(plus4);
		
		plus5 = new JButton("+");
		plus5.setBounds(150, 300, 100, 100);
		plus5.addActionListener(this);
		add(plus5);
		
		plus6 = new JButton("+");
		plus6.setBounds(175, 300, 100, 100);
		plus6.addActionListener(this);
		add(plus6);
		
		plus7 = new JButton("+");
		plus7.setBounds(200, 300, 100, 100);
		plus7.addActionListener(this);
		add(plus7);
		
		plus8 = new JButton("+");
		plus8.setBounds(225, 300, 100, 100);
		plus8.addActionListener(this);
		add(plus8);
		
		plus9 = new JButton("+");
		plus9.setBounds(250, 300, 100, 100);
		plus9.addActionListener(this);
		add(plus9);
		
		save = new JButton("Save");
		save.setBounds(0,1750,100,100);
		save.addActionListener(this);
		add(save);
		
		plusA = new JButton("+A");
		plusA.setBounds(25, 1500, 100, 100);
		plusA.addActionListener(this);
		add(plusA);
		
		plusA1 = new JButton("+A");
		plusA1.setBounds(50, 1500, 100, 100);
		plusA1.addActionListener(this);
		add(plusA1);
		
		plusA2 = new JButton("+A");
		plusA2.setBounds(75, 1500, 100, 100);
		plusA2.addActionListener(this);
		add(plusA2);
		
		plusA3 = new JButton("+A");
		plusA3.setBounds(100, 1500, 100, 100);
		plusA3.addActionListener(this);
		add(plusA3);
		
		plusA4 = new JButton("+A");
		plusA4.setBounds(125, 1500, 100, 100);
		plusA4.addActionListener(this);
		add(plusA4);
		
		plusA5 = new JButton("+A");
		plusA5.setBounds(150, 1500, 100, 100);
		plusA5.addActionListener(this);
		add(plusA5);
		
		plusA6 = new JButton("+A");
		plusA6.setBounds(175, 1500, 100, 100);
		plusA6.addActionListener(this);
		add(plusA6);
		
	}
	

	public void paint(Graphics g){
		
	
		super.paint(g);
		Graphics2D fs =(Graphics2D)g;
		
		fs.drawString("Geld = "+ geld, 400,50);
		fs.drawString("Geld / sec = " + geld_sec, 500,50);
		fs.drawString("Kosten: ",10,50);
		fs.drawString("pro Sec: ",160,50);
		fs.drawString("Upgrad: ",260,50);
		fs.drawString("Zigaretten " +kosten[7],10,75);
		fs.drawString(" " +steigern[7],160,75);
		fs.drawString("= Zigaretten " +anzahl[0],260,75);
		fs.drawString("Kaugummi  "+kosten[8] ,10,100);
		fs.drawString(""+steigern[8] ,160,100);
		fs.drawString("= Kaugummi  "+anzahl[1] ,260,100);
		fs.drawString("Blumen  "+kosten[9] ,10,125);
		fs.drawString(""+steigern[9] ,160,125);
		fs.drawString("= Blumen  "+anzahl[2] ,260,125);
		fs.drawString("Tante Ema  "+kosten[10] ,10,150);
		fs.drawString(""+steigern[10] ,160,150);
		fs.drawString("= Tante Ema  "+anzahl[3] ,260,150);
		fs.drawString("Kaufhaus  "+kosten[11] ,10,175);
		fs.drawString(""+steigern[11] ,160,175);
		fs.drawString("= Kaufhaus  "+anzahl[4] ,260,175);
		fs.drawString("Öl  "+kosten[12],10,200);
		fs.drawString(""+steigern[12],160,200);
		fs.drawString("= Öl  "+anzahl[5],260,200);
		fs.drawString("Erz "+kosten[13] ,10,225);
		fs.drawString(""+steigern[13] ,160,225);
		fs.drawString("= Erz "+anzahl[6] ,260,225);
		fs.drawString("Stahl  "+kosten[14] ,10,250);
		fs.drawString(""+steigern[14] ,160,250);
		fs.drawString("= Stahl  "+anzahl[7] ,260,250);
		fs.drawString("Gold  "+kosten[15] ,10,275);
		fs.drawString(""+steigern[15] ,160,275);
		fs.drawString("= Gold  "+anzahl[8] ,260,275);
		fs.drawString("Diamanten "+kosten[16],10,300);
		fs.drawString(""+steigern[16],160,300);
		fs.drawString("= Diamanten "+anzahl[9],260,300);
		
		fs.drawString("Werbung/Kosten: ", 1100,50);
		fs.drawString("Prozent steigerung: ", 1250,50);
		fs.drawString("Upgrade: ", 1400,50);
		fs.drawString("Flyer: " + kosten[0] , 1100,75);
		fs.drawString("" + steigern[0] , 1300,75);
		fs.drawString("= Flyer " + anzahl[10] , 1400,75);
		fs.drawString("Visitenkarten: " + kosten[1] , 1100,100);
		fs.drawString("" + steigern[1] , 1300,100);
		fs.drawString("= Visitenkarten " + anzahl[11] , 1400,100);
		fs.drawString("Plackart: " + kosten[2] , 1100,125);
		fs.drawString("" + steigern[2] , 1300,125);
		fs.drawString(" = Plackart " + anzahl[12] , 1400,125);
		fs.drawString("Werbebanner: " + kosten[3] , 1100,150);
		fs.drawString("" + steigern[3] , 1300,150);
		fs.drawString("= Werbebanner " + anzahl[13] , 1400,150);
		fs.drawString("Zeitung: " + kosten[4] , 1100,175);
		fs.drawString("" + steigern[4] , 1300,175);
		fs.drawString("= Zeitung " + anzahl[14] , 1400,175);
		fs.drawString("Radio: " + kosten[5], 1100,200);
		fs.drawString("" + steigern[5], 1300,200);
		fs.drawString("= Radio " + anzahl[15], 1400,200);
		fs.drawString("Fernsehen: " + kosten[6], 1100,225);
		fs.drawString("" + steigern[6], 1300,225);
		fs.drawString("= Fernsehen " + anzahl[16], 1400,225);
		
		repaint();
	}
	
	public void actionPerformed(ActionEvent e) {
		
		if(e.getSource() == plus){
			
			if(geld >=kosten[7]){
			anzahl[0] = +1;
			geld_sec = geld_sec + steigern[7];
			geld = geld - kosten[7];
			kosten[7] = kosten[7] + (kosten[7] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == plus1){
			
			if(geld >=kosten[8]){
			anzahl[1] = +1;
			geld_sec = geld_sec + steigern[8];
			geld = geld - kosten[8];
			kosten[8] = kosten[8] + (kosten[8] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == plus2){
			
			if(geld >=kosten[9]){
			anzahl[2] = +1;
			geld_sec = geld_sec + steigern[9];
			geld = geld - kosten[9];
			kosten[9] = kosten[9] + (kosten[9] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == plus3){
			
			if(geld >=kosten[10]){
			anzahl[3] = +1;
			geld_sec = geld_sec + steigern[10];
			geld = geld - kosten[10];
			kosten[10] = kosten[10] + (kosten[10] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == plus4){
			
			if(geld >=kosten[11]){
			anzahl[4] = +1;
			geld_sec = geld_sec + steigern[11];
			geld = geld - kosten[11];
			kosten[11] = kosten[11] + (kosten[11] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == plus5){
			
			if(geld >=kosten[12]){
			anzahl[5] = +1;
			geld_sec = geld_sec + steigern[12];
			geld = geld - kosten[12];
			kosten[12] = kosten[12] + (kosten[12] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == plus6){
			
			if(geld >=kosten[13]){
			anzahl[6] = +1;
			geld_sec = geld_sec + steigern[13];
			geld = geld - kosten[13];
			kosten[13] = kosten[13] + (kosten[13] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == plus7){
			
			if(geld >=kosten[14]){
			anzahl[7] = +1;
			geld_sec = geld_sec + steigern[14];
			geld = geld - kosten[14];
			kosten[14] = kosten[14] + (kosten[14] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == plus8){
			
			if(geld >=kosten[15]){
			anzahl[8]= +1;
			geld_sec = geld_sec + steigern[15];
			geld = geld - kosten[15];
			kosten[15] = kosten[15] + (kosten[15] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == plus9){
			
			if(geld >=kosten[16]){
			anzahl[9] = +1;
			geld_sec = geld_sec + steigern[16];
			geld = geld - kosten[16];
			kosten[16] = kosten[16] + (kosten[16] / 4);
			}else{
				nicht_geld();
			}
			}else if(e.getSource() == save){
				save();
		}else if(e.getSource() == plusA){
			
			if(geld>= kosten[0]){
				anzahl[10] = +1;
				geld_sec= geld_sec + ((geld_sec/100) *steigern[0]);
				geld = geld - kosten[0];
				kosten[0] = kosten[0] + (kosten[0]  /4);
			}else if (anzahl[10] >= 10){
				zu_viel();
			}else{
				nicht_geld();
			}
			
		}else if(e.getSource() == plusA1){
			
			if(geld>= kosten[10]){
				anzahl[11] = +1;
				geld_sec= geld_sec + ((geld_sec/100) * steigern[1]);
				geld = geld - kosten[1];
				kosten[1] = kosten[1] + (kosten[1]  /4);
			}else if(anzahl[11] >= 10){
				zu_viel();
			}else{
				nicht_geld();
			}
		
		}else if(e.getSource() == plusA2){
			
			if(geld>= kosten[2]){
				anzahl[12] = +1;
				geld_sec= geld_sec + ((geld_sec/100) * steigern[2]);
				geld = geld - kosten[2];
				kosten[2] = kosten[2] + (kosten[2]  /4);
			}else if(anzahl[12] >= 10){
				zu_viel();
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == plusA3){
			
			if(geld>= kosten[3]){
				anzahl[13] = +1;
				geld_sec= geld_sec + ((geld_sec/100) * steigern[3]);
				geld = geld - kosten[3];
				kosten[3] = kosten[3] + (kosten[3]  /4);
			}else if(anzahl[13] >= 10){
				zu_viel();
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == plusA4){
			
			if(geld>= kosten[4]){
				anzahl[14] = +1;
				geld_sec= geld_sec + ((geld_sec/100) * steigern[4]);
				geld = geld - kosten[4];
				kosten[4] = kosten[4] + (kosten[4]  /4);
			}else if(anzahl[14] >= 10){
				zu_viel();
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == plusA5){
			
			if(geld>= kosten[5]){
				anzahl[15] = +1;
				geld_sec= geld_sec + ((geld_sec/100) * steigern[5]);
				geld = geld - kosten[5];
				kosten[5] = kosten[5] + (kosten[5]  /4);
			}else if(anzahl[15] >= 10){
				zu_viel();
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == plusA6){
			
			if(geld>= kosten[6]){
				anzahl[16] = +1;
				geld_sec= geld_sec + ((geld_sec/100) * steigern[6]);
				geld = geld - kosten[6];
				kosten[6] = kosten[6] + (kosten[6]  /4);
			}else if(anzahl[16] >= 10){
				zu_viel();
			}else{
				nicht_geld();
			}
		}
	}

	public void save(){
		
	}
}

Danke im voraus.

viele grüße,
David Krenz
 

BRoll

Bekanntes Mitglied
Schleifen ! Arrays!

Java:
	anzahl[0] = 0;
anzahl[1] = 0;
anzahl[2] = 0;
anzahl[3] = 0;
anzahl[4] = 0;
anzahl[5] = 0;
anzahl[6] = 0;
anzahl[7] = 0;
anzahl[8] = 0;
anzahl[9] = 0;
anzahl[10] = 0;
anzahl[11] = 0;
anzahl[12] = 0;
anzahl[13] = 0;
anzahl[14] = 0;
anzahl[15] = 0;
anzahl[16] = 0;

Sowas macht man nicht, sondern so:
Java:
for(int i=0; i<16; i++)
{
anzahl[i]=0;
}

Genauso deine ganzen Buttons, mach dafür auch Arrays damit du nicht immer alles
hundertmal schreiben musst.
 

Saheeda

Top Contributor
Die Variablennamen sind nur für dich als Hilfestellung gedacht. Du könntest die auch a,b,c...z nennen und es würde trotzdem funktionieren. Kann halt nachher nur keine Sau mehr lesen.

Für deine Buttons kannst du eine Liste machen und die "Zählvariable" (Iterationsvariable, hier i) benutzen:
Java:
for(int i = 0; i<buttonListe.size(); i++){ 
	int x = 25 * (i+1);
	buttonListe[i] = new JButton("+");
	buttonListe[i].setBounds(x, 300, 100, 100);
	buttonListe[i].addActionListener(this);
}
 
Also wenn ich das richtig verstanden hab soll das so aussehen:
Java:
List<String> buttonListe = new ArrayList<String>();
		buttonListe.add(i,"buttonListe");
		
		
		for(int i; i<buttonListe.size(); i++){
			int x = 25 * (i+1);
			buttonListe[i] = new JButton("+");
			buttonListe[i].setBounds(x, 300, 100, 100);
			buttonListe[i].addActionListener(this);
		}

Alerdings Funktioniert das nicht. Er makiert mir "buttonListe" rot. aber ohne begründung.
 

Saheeda

Top Contributor
Deine ArrayListe ist vom Typ String, müsste aber vom Typ JButton sein. Eine Collection (Liste, Array, whatever) kann immer nur die Objekte beinhalten, für die sie definiert wurde.

In ein Netz kannst du ja auch kein Wasser füllen, aber sehr wohl Bälle.
 
Also ich glaub so mach das mehr sinn?:

Java:
List<Integer> buttonListe = new ArrayList<Integer>();
		for(int l; l < 9; l++){
		buttonListe.add(i);
		}
		
		for(int i; i<buttonListe.size(); i++){
			int x = 25 * (i+1);
			buttonListe[i] = new JButton("+");
			buttonListe[i].setBounds(x, 300, 100, 100);
			buttonListe[i].addActionListener(this);
		}

aber er makiert mir immer noch"buttonListe" rot.
 
Stimmt hab ich geändert.
habe aber immer noch das selbe problem das er mir "buttonListe" rot makiert.
Java:
List<JButton> buttonListe = new ArrayList<JButton>();
		for(int l; l < 9; l++){
		buttonListe.add(i);
		}
		
		for(int i; i<buttonListe.size(); i++){
			int x = 25 * (i+1);
			buttonListe[i] = new JButton("+");
			buttonListe[i].setBounds(x, 300, 100, 100);
			buttonListe[i].addActionListener(this);
		}
 

tffasse

Mitglied
Stimmt hab ich geändert.
habe aber immer noch das selbe problem das er mir "buttonListe" rot makiert.
Java:
List<JButton> buttonListe = new ArrayList<JButton>();
		for(int l; l < 9; l++){
		buttonListe.add(i);
		}
		
		for(int i; i<buttonListe.size(); i++){
			int x = 25 * (i+1);
			buttonListe[i] = new JButton("+");
			buttonListe[i].setBounds(x, 300, 100, 100);
			buttonListe[i].addActionListener(this);
		}


Wenn du das so machen willst, dann brauchst du keine Liste sondern ein normales Array.

Java:
JButton[] buttonArray = new JButton[9];
		for(int i = 0; i < buttonArray.length; i++){
			int x = 25 * (i+1);
			buttonArray[i] = new JButton("+");
			buttonArray[i].setBounds(x, 300, 100, 100);
			buttonArray[i].addActionListener(this);
		}

So hast du nun ein Array mit 9 Objekten vom Typ JButton.
 
Zuletzt bearbeitet:
Danke so klappt das prima :)

allerdings makiert er mir 2 stellen im code rot und ich weiß nicht warum.

Java:
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;


public class gui extends JPanel  implements ActionListener  {

	private static final long serialVersionUID = 1L;



	public void nicht_geld(){
		Object[] options ={"OK"};
		
		JOptionPane.showOptionDialog(null,"Nicht genügend Geld","Informationen/Erklärung",JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,options,options[0]);
	}
	
	public void zu_viel(){
		Object[] options ={"OK"};
		
		JOptionPane.showOptionDialog(null,"Maximal erreicht","Informationen/Erklärung",JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,options,options[0]);
	}
	
	double geld 	     = 200;
	double geld_sec		 = 0;

	int[] anzahl = new int[17];
	
	for(int i; i <16;i++){
		anzahl[i] = 0;
	}
	

	double[] kosten = new double[17];
	
	kosten[0] = 5000;
	kosten[1] = 8000;
	kosten[2] = 15000;
	kosten[3] = 40000;
	kosten[4] = 80000;
	kosten[5] = 150000;
	kosten[6] = 190000;
	kosten[7] = 100;
	kosten[8] = 500;
	kosten[9] = 5600;
	kosten[10] = 18000;
	kosten[11] = 40000;
	kosten[12] = 240000;
	kosten[13] = 400000;
	kosten[14] = 950000;
	kosten[15] = 1200000;
	kosten[16] = 1900000;
	
	double[] steigern = new double[17];
	
	steigern[0] = 1;
	steigern[1] = 1.5;
	steigern[2] = 2;
	steigern[3] = 3;
	steigern[4] = 5;
	steigern[5] = 6.5;
	steigern[6] = 9;
	steigern[7] = 0.50;
	steigern[8] = 1;
	steigern[9] = 2.5;
	steigern[10] = 7.30;
	steigern[11] = 19.70;
	steigern[12] = 37.60;
	steigern[13] = 69.75;
	steigern[14] = 99.10;
	steigern[15] = 130;
	steigern[16] = 205.30;
	
	JButton[] buttonArray2 = new JButton[5];
	JButton[] buttonArray = new JButton[9];
	
	private JButton save;
	
	public gui(){
	
		
		for(int i; i<buttonArray.length; i++){
			int x = 25 * (i+1);
			buttonArray[i] = new JButton("+");
			buttonArray[i].setBounds(x, 300, 100, 100);
			buttonArray[i].addActionListener(this);
		}
		
		
		save = new JButton("Save");
		save.setBounds(0,1750,100,100);
		save.addActionListener(this);
		add(save);
		
		
		for(int i; i<buttonArray2.length; i++){
			int x = 25 * (i+1);
			buttonArray2[i] = new JButton("A");
			buttonArray2[i].setBounds(x, 300, 100, 100);
			buttonArray2[i].addActionListener(this);
		}
		
	}
	

	public void paint(Graphics g){
		
	
		super.paint(g);
		Graphics2D fs =(Graphics2D)g;
		
		fs.drawString("Geld = "+ geld, 400,50);
		fs.drawString("Geld / sec = " + geld_sec, 500,50);
		fs.drawString("Kosten: ",10,50);
		fs.drawString("pro Sec: ",160,50);
		fs.drawString("Upgrad: ",260,50);
		fs.drawString("Zigaretten " +kosten[7],10,75);
		fs.drawString(" " +steigern[7],160,75);
		fs.drawString("= Zigaretten " +anzahl[0],260,75);
		fs.drawString("Kaugummi  "+kosten[8] ,10,100);
		fs.drawString(""+steigern[8] ,160,100);
		fs.drawString("= Kaugummi  "+anzahl[1] ,260,100);
		fs.drawString("Blumen  "+kosten[9] ,10,125);
		fs.drawString(""+steigern[9] ,160,125);
		fs.drawString("= Blumen  "+anzahl[2] ,260,125);
		fs.drawString("Tante Ema  "+kosten[10] ,10,150);
		fs.drawString(""+steigern[10] ,160,150);
		fs.drawString("= Tante Ema  "+anzahl[3] ,260,150);
		fs.drawString("Kaufhaus  "+kosten[11] ,10,175);
		fs.drawString(""+steigern[11] ,160,175);
		fs.drawString("= Kaufhaus  "+anzahl[4] ,260,175);
		fs.drawString("Öl  "+kosten[12],10,200);
		fs.drawString(""+steigern[12],160,200);
		fs.drawString("= Öl  "+anzahl[5],260,200);
		fs.drawString("Erz "+kosten[13] ,10,225);
		fs.drawString(""+steigern[13] ,160,225);
		fs.drawString("= Erz "+anzahl[6] ,260,225);
		fs.drawString("Stahl  "+kosten[14] ,10,250);
		fs.drawString(""+steigern[14] ,160,250);
		fs.drawString("= Stahl  "+anzahl[7] ,260,250);
		fs.drawString("Gold  "+kosten[15] ,10,275);
		fs.drawString(""+steigern[15] ,160,275);
		fs.drawString("= Gold  "+anzahl[8] ,260,275);
		fs.drawString("Diamanten "+kosten[16],10,300);
		fs.drawString(""+steigern[16],160,300);
		fs.drawString("= Diamanten "+anzahl[9],260,300);
		
		fs.drawString("Werbung/Kosten: ", 1100,50);
		fs.drawString("Prozent steigerung: ", 1250,50);
		fs.drawString("Upgrade: ", 1400,50);
		fs.drawString("Flyer: " + kosten[0] , 1100,75);
		fs.drawString("" + steigern[0] , 1300,75);
		fs.drawString("= Flyer " + anzahl[10] , 1400,75);
		fs.drawString("Visitenkarten: " + kosten[1] , 1100,100);
		fs.drawString("" + steigern[1] , 1300,100);
		fs.drawString("= Visitenkarten " + anzahl[11] , 1400,100);
		fs.drawString("Plackart: " + kosten[2] , 1100,125);
		fs.drawString("" + steigern[2] , 1300,125);
		fs.drawString(" = Plackart " + anzahl[12] , 1400,125);
		fs.drawString("Werbebanner: " + kosten[3] , 1100,150);
		fs.drawString("" + steigern[3] , 1300,150);
		fs.drawString("= Werbebanner " + anzahl[13] , 1400,150);
		fs.drawString("Zeitung: " + kosten[4] , 1100,175);
		fs.drawString("" + steigern[4] , 1300,175);
		fs.drawString("= Zeitung " + anzahl[14] , 1400,175);
		fs.drawString("Radio: " + kosten[5], 1100,200);
		fs.drawString("" + steigern[5], 1300,200);
		fs.drawString("= Radio " + anzahl[15], 1400,200);
		fs.drawString("Fernsehen: " + kosten[6], 1100,225);
		fs.drawString("" + steigern[6], 1300,225);
		fs.drawString("= Fernsehen " + anzahl[16], 1400,225);
		
		repaint();
	}
	
	public void actionPerformed(ActionEvent e) {
		
		if(e.getSource() ==buttonArray[0]){
			
			if(geld >=kosten[7]){
			anzahl[0] = +1;
			geld_sec = geld_sec + steigern[1];
			geld = geld - kosten[7];
			kosten[7] = kosten[7] + (kosten[7] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray[1]){
			
			if(geld >=kosten[8]){
			anzahl[1] = +1;
			geld_sec = geld_sec + steigern[8];
			geld = geld - kosten[8];
			kosten[8] = kosten[8] + (kosten[8] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray[2]){
			
			if(geld >=kosten[9]){
			anzahl[2] = +1;
			geld_sec = geld_sec + steigern[9];
			geld = geld - kosten[9];
			kosten[9] = kosten[9] + (kosten[9] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray[3]){
			
			if(geld >=kosten[10]){
			anzahl[3] = +1;
			geld_sec = geld_sec + steigern[10];
			geld = geld - kosten[10];
			kosten[10] = kosten[10] + (kosten[10] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() ==buttonArray[4]){
			
			if(geld >=kosten[11]){
			anzahl[4] = +1;
			geld_sec = geld_sec + steigern[11];
			geld = geld - kosten[11];
			kosten[11] = kosten[11] + (kosten[11] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray[5]){
			
			if(geld >=kosten[12]){
			anzahl[5] = +1;
			geld_sec = geld_sec + steigern[12];
			geld = geld - kosten[12];
			kosten[12] = kosten[12] + (kosten[12] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray[6]){
			
			if(geld >=kosten[13]){
			anzahl[6] = +1;
			geld_sec = geld_sec + steigern[13];
			geld = geld - kosten[13];
			kosten[13] = kosten[13] + (kosten[13] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray[7]){
			
			if(geld >=kosten[14]){
			anzahl[7] = +1;
			geld_sec = geld_sec + steigern[14];
			geld = geld - kosten[14];
			kosten[14] = kosten[14] + (kosten[14] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray[8]){
			
			if(geld >=kosten[15]){
			anzahl[8]= +1;
			geld_sec = geld_sec + steigern[15];
			geld = geld - kosten[15];
			kosten[15] = kosten[15] + (kosten[15] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray[9]){
			
			if(geld >=kosten[16]){
			anzahl[9] = +1;
			geld_sec = geld_sec + steigern[16];
			geld = geld - kosten[16];
			kosten[16] = kosten[16] + (kosten[16] / 4);
			}else{
				nicht_geld();
			}
			}else if(e.getSource() == save){
				save();
		}else if(e.getSource() == buttonArray2[i]){
			
			if(geld>= kosten[0]){
				anzahl[10] = +1;
				geld_sec= geld_sec + ((geld_sec/100) *steigern[0]);
				geld = geld - kosten[0];
				kosten[0] = kosten[0] + (kosten[0]  /4);
			}else if (anzahl[10] >= 10){
				zu_viel();
			}else{
				nicht_geld();
			}
			
		}else if(e.getSource() == buttonArray2[0]){
			
			if(geld>= kosten[10]){
				anzahl[11] = +1;
				geld_sec= geld_sec + ((geld_sec/100) * steigern[1]);
				geld = geld - kosten[1];
				kosten[1] = kosten[1] + (kosten[1]  /4);
			}else if(anzahl[11] >= 10){
				zu_viel();
			}else{
				nicht_geld();
			}
		
		}else if(e.getSource() == buttonArray2[1]){
			
			if(geld>= kosten[2]){
				anzahl[12] = +1;
				geld_sec= geld_sec + ((geld_sec/100) * steigern[2]);
				geld = geld - kosten[2];
				kosten[2] = kosten[2] + (kosten[2]  /4);
			}else if(anzahl[12] >= 10){
				zu_viel();
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray2[2]){
			
			if(geld>= kosten[3]){
				anzahl[13] = +1;
				geld_sec= geld_sec + ((geld_sec/100) * steigern[3]);
				geld = geld - kosten[3];
				kosten[3] = kosten[3] + (kosten[3]  /4);
			}else if(anzahl[13] >= 10){
				zu_viel();
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray2[3]){
			
			if(geld>= kosten[4]){
				anzahl[14] = +1;
				geld_sec= geld_sec + ((geld_sec/100) * steigern[4]);
				geld = geld - kosten[4];
				kosten[4] = kosten[4] + (kosten[4]  /4);
			}else if(anzahl[14] >= 10){
				zu_viel();
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray2[4]){
			
			if(geld>= kosten[5]){
				anzahl[15] = +1;
				geld_sec= geld_sec + ((geld_sec/100) * steigern[5]);
				geld = geld - kosten[5];
				kosten[5] = kosten[5] + (kosten[5]  /4);
			}else if(anzahl[15] >= 10){
				zu_viel();
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray2[5]){
			
			if(geld>= kosten[6]){
				anzahl[16] = +1;
				geld_sec= geld_sec + ((geld_sec/100) * steigern[6]);
				geld = geld - kosten[6];
				kosten[6] = kosten[6] + (kosten[6]  /4);
			}else if(anzahl[16] >= 10){
				zu_viel();
			}else{
				nicht_geld();
			}
		}
	}

	public void save(){
		
	}
}

und zwar Zeile 36 das ";" und Zeile 86 ";".
und ich komm nicht drauf warum?
 
Zuletzt bearbeitet:

Saheeda

Top Contributor
Sorry, ich hab die Sprachen durcheinander gebracht.
In einigen anderen kann ich auch bei Listen über die eckigen Klammern auf einen bestimmten Index zugreifen, in Java geht das bei Listen über liste.get(index);
 

tffasse

Mitglied
Danke so klappt das prima :)

allerdings makiert er mir 2 stellen im code rot und ich weiß nicht warum.


und zwar Zeile 36 das ";" und Zeile 86 ";".
und ich komm nicht drauf warum?

Blöde Frage: Sichergestellt, dass du gespeichert hast?

Welche IDE oder Editor benutzt du? Die sollte dir eigentlich auch, zumindest grob, sagen, was da nun falsch ist.

Du hast nämlich noch einen Fehler in der for-Schleife in Zeile 38. Du musst die Variable i natürlich noch initialisieren.
Java:
for(int i = 0; i < 16; i++){
    anzahl[i] = 0;
}

Behebe das erst einmal und gucke was dann passiert.
Noch ein Tipp: In der Namenskonvention von Java wird vorgeschrieben, Klassennamen Groß zu schreiben. Sprich statt 'gui' solltest du 'Gui' verwenden.
 
Ja gespeichert ist alles.

irgendwas stimmt mit der for schleife nicht. das i ist initialisiert.
ich nutze Eclipse.
der Compiler sagt Syntax Error.

Danke ich habe die Klassennamen geändert.
 
Zuletzt bearbeitet:
also ich krieg 2 Fehler Meldungen:

1. Syntax Error on token ";",{ expected after this token.
2. Synatk Eroor, insert "}" to complete Block.

also ich weiß was mein Compiler mir damit sagen will allerdings finde ich denn Fehler nicht.
 
Java:
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

public class Gui extends JPanel  implements ActionListener{

	private static final long serialVersionUID = 1L;

	int[] anzahl = new int[16];
	
	for(int i = 0; i <16; i++){
		anzahl[i] = 0;
	}
	
	double geld 	     = 200;
	double geld_sec		 = 0;

	
	double[] kosten = new double[17];
	
	kosten[0]  = 5000;
	kosten[1]  = 8000;
	kosten[2]  = 15000;
	kosten[3]  = 40000;
	kosten[4]  = 80000;
	kosten[5]  = 150000;
	kosten[6]  = 190000;
	kosten[7]  = 100;
	kosten[8]  = 500;
	kosten[9]  = 5600;
	kosten[10] = 18000;
	kosten[11] = 40000;
	kosten[12] = 240000;
	kosten[13] = 400000;
	kosten[14] = 950000;
	kosten[15] = 1200000;
	kosten[16] = 1900000;
	
	double[] steigern = new double[17];
	
	steigern[0]  = 1;
	steigern[1]  = 1.5;
	steigern[2]  = 2;
	steigern[3]  = 3;
	steigern[4]  = 5;
	steigern[5]  = 6.5;
	steigern[6]  = 9;
	steigern[7]  = 0.50;
	steigern[8]  = 1;
	steigern[9]  = 2.5;
	steigern[10] = 7.30;
	steigern[11] = 19.70;
	steigern[12] = 37.60;
	steigern[13] = 69.75;
	steigern[14] = 99.10;
	steigern[15] = 130;
	steigern[16] = 205.30;

	private JButton save;
	
	JButton[] buttonArray  = new JButton[9];
	JButton[] buttonArray2 = new JButton[5];
	

	public Gui(){
	
		
		for(int i; i<buttonArray.length; i++){
			int x = 25 * (i+1);
			buttonArray[i] = new JButton("+");
			buttonArray[i].setBounds(x, 300, 100, 100);
			buttonArray[i].addActionListener(this);
		}
			
		save = new JButton("Save");
		save.setBounds(0,1750,100,100);
		save.addActionListener(this);
		add(save);
		
		for(int i; i<buttonArray2.length; i++){
			int x = 25 * (i+1);
			buttonArray2[i] = new JButton("A");
			buttonArray2[i].setBounds(x, 300, 100, 100);
			buttonArray2[i].addActionListener(this);
		}
		
	}
	
	public void paint(Graphics g){
		
		super.paint(g);
		Graphics2D fs =(Graphics2D)g;
		
		fs.drawString("Geld = "+ geld, 400,50);
		fs.drawString("Geld / sec = " + geld_sec, 500,50);
		
		fs.drawString("Kosten: ",10,50);
		fs.drawString("pro Sec: ",160,50);
		fs.drawString("Upgrad: ",260,50);
		
		fs.drawString("Zigaretten " +kosten[7],10,75);
		fs.drawString(" " +steigern[7],160,75);
		fs.drawString("= Zigaretten " +anzahl[0],260,75);
		fs.drawString("Kaugummi  "+kosten[8] ,10,100);
		fs.drawString(""+steigern[8],160,100);
		fs.drawString("= Kaugummi  "+anzahl[1],260,100);
		fs.drawString("Blumen  "+kosten[9],10,125);
		fs.drawString(""+steigern[9],160,125);
		fs.drawString("= Blumen  "+anzahl[2],260,125);
		fs.drawString("Tante Ema  "+kosten[10],10,150);
		fs.drawString(""+steigern[10],160,150);
		fs.drawString("= Tante Ema  "+anzahl[3],260,150);
		fs.drawString("Kaufhaus  "+kosten[11],10,175);
		fs.drawString(""+steigern[11],160,175);
		fs.drawString("= Kaufhaus  "+anzahl[4],260,175);
		fs.drawString("Öl  "+kosten[12],10,200);
		fs.drawString(""+steigern[12],160,200);
		fs.drawString("= Öl  "+anzahl[5],260,200);
		fs.drawString("Erz "+kosten[13],10,225);
		fs.drawString(""+steigern[13],160,225);
		fs.drawString("= Erz "+anzahl[6],260,225);
		fs.drawString("Stahl  "+kosten[14],10,250);
		fs.drawString(""+steigern[14],160,250);
		fs.drawString("= Stahl  "+anzahl[7],260,250);
		fs.drawString("Gold  "+kosten[15],10,275);
		fs.drawString(""+steigern[15],160,275);
		fs.drawString("= Gold  "+anzahl[8],260,275);
		fs.drawString("Diamanten "+kosten[16],10,300);
		fs.drawString(""+steigern[16],160,300);
		fs.drawString("= Diamanten "+anzahl[9],260,300);
		
		fs.drawString("Werbung/Kosten: ", 1100,50);
		fs.drawString("Prozent steigerung: ", 1250,50);
		fs.drawString("Upgrade: ", 1400,50);
		
		fs.drawString("Flyer: " + kosten[0],1100,75);
		fs.drawString("" + steigern[0],1300,75);
		fs.drawString("= Flyer " + anzahl[10],1400,75);
		fs.drawString("Visitenkarten: " + kosten[1],1100,100);
		fs.drawString("" + steigern[1] ,1300,100);
		fs.drawString("= Visitenkarten " + anzahl[11],1400,100);
		fs.drawString("Plackart: " + kosten[2],1100,125);
		fs.drawString("" + steigern[2],1300,125);
		fs.drawString(" = Plackart " + anzahl[12],1400,125);
		fs.drawString("Werbebanner: " + kosten[3],1100,150);
		fs.drawString("" + steigern[3],1300,150);
		fs.drawString("= Werbebanner " + anzahl[13],1400,150);
		fs.drawString("Zeitung: " + kosten[4],1100,175);
		fs.drawString("" + steigern[4],1300,175);
		fs.drawString("= Zeitung " + anzahl[14],1400,175);
		fs.drawString("Radio: " + kosten[5],1100,200);
		fs.drawString("" + steigern[5],1300,200);
		fs.drawString("= Radio " + anzahl[15],1400,200);
		fs.drawString("Fernsehen: " + kosten[6],1100,225);
		fs.drawString("" + steigern[6],1300,225);
		fs.drawString("= Fernsehen " +anzahl[16],1400,225);
		
		repaint();
	}
	
	public void actionPerformed(ActionEvent e) {
		
		if(e.getSource() ==buttonArray[0]){
			
			if(geld >=kosten[7]){
			anzahl[0] = +1;
			geld_sec = geld_sec + steigern[1];
			geld = geld - kosten[7];
			kosten[7] = kosten[7] + (kosten[7] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray[1]){
			
			if(geld >=kosten[8]){
			anzahl[1] = +1;
			geld_sec = geld_sec + steigern[8];
			geld = geld - kosten[8];
			kosten[8] = kosten[8] + (kosten[8] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray[2]){
			
			if(geld >=kosten[9]){
			anzahl[2] = +1;
			geld_sec = geld_sec + steigern[9];
			geld = geld - kosten[9];
			kosten[9] = kosten[9] + (kosten[9] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray[3]){
			
			if(geld >=kosten[10]){
			anzahl[3]  = +1;
			geld_sec = geld_sec + steigern[10];
			geld = geld - kosten[10];
			kosten[10] = kosten[10] + (kosten[10] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() ==buttonArray[4]){
			
			if(geld >=kosten[11]){
			anzahl[4]  = +1 ;
			geld_sec = geld_sec + steigern[11];
			geld = geld - kosten[11];
			kosten[11] = kosten[11] + (kosten[11] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray[5]){
			
			if(geld >=kosten[12]){
			anzahl[5] = +1;
			geld_sec = geld_sec + steigern[12];
			geld = geld - kosten[12];
			kosten[12] = kosten[12] + (kosten[12] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray[6]){
			
			if(geld >=kosten[13]){
			anzahl[6] = +1;
			geld_sec = geld_sec + steigern[13];
			geld = geld - kosten[13];
			kosten[13] = kosten[13] + (kosten[13] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray[7]){
			
			if(geld >=kosten[14]){
			anzahl[7] = +1;
			geld_sec = geld_sec + steigern[14];
			geld = geld - kosten[14];
			kosten[14] = kosten[14] + (kosten[14] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray[8]){
			
			if(geld >=kosten[15]){
			anzahl[8] = +1;
			geld_sec = geld_sec + steigern[15];
			geld = geld - kosten[15];
			kosten[15] = kosten[15] + (kosten[15] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray[9]){
			
			if(geld >=kosten[16]){
			anzahl[9] = +1;
			geld_sec = geld_sec + steigern[16];
			geld = geld - kosten[16];
			kosten[16] = kosten[16] + (kosten[16] / 4);
			}else{
				nicht_geld();
			}
			}else if(e.getSource() == save){
				save();
		}else if(e.getSource() == buttonArray2[i]){
			
			if(geld>= kosten[0]){
				anzahl[10] = +1;
				geld_sec= geld_sec + ((geld_sec/100) *steigern[0]);
				geld = geld - kosten[0];
				kosten[0] = kosten[0] + (kosten[0]  /4);
			}else if (anzahl[10] >= 10){
				zu_viel();
			}else{
				nicht_geld();
			}
			
		}else if(e.getSource() == buttonArray2[0]){
			
			if(geld>= kosten[10]){
				anzahl[11] = +1;
				geld_sec= geld_sec + ((geld_sec/100) * steigern[1]);
				geld = geld - kosten[1];
				kosten[1] = kosten[1] + (kosten[1]  /4);
			}else if(anzahl[11] >= 10){
				zu_viel();
			}else{
				nicht_geld();
			}
		
		}else if(e.getSource() == buttonArray2[1]){
			
			if(geld>= kosten[2]){
				anzahl[12] = +1;
				geld_sec= geld_sec + ((geld_sec/100) * steigern[2]);
				geld = geld - kosten[2];
				kosten[2] = kosten[2] + (kosten[2]  /4);
			}else if(anzahl[12] >= 10){
				zu_viel();
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray2[2]){
			
			if(geld>= kosten[3]){
				anzahl[13] = +1;
				geld_sec= geld_sec + ((geld_sec/100) * steigern[3]);
				geld = geld - kosten[3];
				kosten[3] = kosten[3] + (kosten[3]  /4);
			}else if(anzahl[13] >= 10){
				zu_viel();
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray2[3]){
			
			if(geld>= kosten[4]){
				anzahl[14] = +1;
				geld_sec= geld_sec + ((geld_sec/100) * steigern[4]);
				geld = geld - kosten[4];
				kosten[4] = kosten[4] + (kosten[4]  /4);
			}else if(anzahl[14] >= 10){
				zu_viel();
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray2[4]){
			
			if(geld>= kosten[5]){
				anzahl[15] = +1;
				geld_sec= geld_sec + ((geld_sec/100) * steigern[5]);
				geld = geld - kosten[5];
				kosten[5] = kosten[5] + (kosten[5]  /4);
			}else if(anzahl[15] >= 10){
				zu_viel();
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray2[5]){
			
			if(geld>= kosten[6]){
				anzahl[16] = +1;
				geld_sec= geld_sec + ((geld_sec/100) * steigern[6]);
				geld = geld - kosten[6];
				kosten[6] = kosten[6] + (kosten[6]  /4);
			}else if(anzahl[16] >= 10){
				zu_viel();
			}else{
				nicht_geld();
			}
		}
	}

	public void save(){
		
	}
	
	public void nicht_geld(){
		
		Object[] options ={"OK"};
		
		JOptionPane.showOptionDialog(null,"Nicht genügend Geld","Informationen/Erklärung",JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,options,options[0]);
	}
	
	public void zu_viel(){
		
		Object[] options ={"OK"};
		
		JOptionPane.showOptionDialog(null,"Maximum Ereicht","Informationen/Erklärung",JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,options,options[0]);
	}
}

Zeile 17 hab ich Fehler 1.
Zeile 70 Fehler 2.
 
Zuletzt bearbeitet:

VfL_Freak

Top Contributor
Moin,

:meld: das dürfte wohl so ziemlich alle for-Schleifen betreffen:
Java:
for(int i; i<buttonListe.size(); i++){
Wie groß ist denn hier wohl Dein Startwert 'i' ??? :wink:
Stichwort: Initialisierung !!

Gruß Klaus
 

VfL_Freak

Top Contributor
WAS ändert sich nicht ??
Bekommst im Schleifenkopf immer noch Syntaxfehler ??

Post doch bitte einfach die komplette Fehlermeldung/den Stacktrace und dazu den AKTUELLEN Code!
Quiz machen wir nämlich erst NACH Feierabend ;-)

Gruß Klaus

BTW: wirklich ALLE falschen Schleifen korrigiert ???
 
Zuletzt bearbeitet:
Die Fehler.
Ich hab raus gefunden das es nicht an der schleife liegt, denn wenn ich die schleife samt dem "int[] anzahl = new int[16];" verschiebe springt die Fehlermeldung zum nächsten Array.

Die Fehlerausgabe krieg ich nur am rand mittels einem roten Kreuz und wen ich mit dem Course darauf gehe gibt er mir die Fehler Meldung aus.

du kannst ja meinen Code mal in Eclipse kopieren vllt ist es dann verständlicher .
 
Zuletzt bearbeitet:

VfL_Freak

Top Contributor
Moin,

Ich hab raus gefunden das es nicht an der schleife liegt, denn wenn ich die schleife samt dem "int[] anzahl = new int[16];" verschiebe springt die Fehlermeldung zum nächsten Array.
Bitte was?? :bahnhof:
Was hast Du wohin verschoben?
Poste aktuellen Code .........

Die Fehlerausgabe krieg ich nur am rand mittels einem roten Kreuz und wen ich mit dem Course darauf gehe gibt er mir die Fehler Meldung aus.
Welche denn genau?
Poste ggf. einen enstprechenden ScreenShot .........

du kannst ja meinen Code mal in Eclipse kopieren vllt ist es dann verständlicher
Dazu habe ich nun wirklich keine Zeit!
Wir machen das hier ja nun nicht (haupt-)beruflich, sondern nebenbei auf der Arbeit!!

Gruß Klaus
 
Java:
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

public class Gui extends JPanel  implements ActionListener{

	private static final long serialVersionUID = 1L;

	int[] anzahl = new int[16];    // hier gibts eine Fehlerausgabe am rand. Das ";" wird rot unterstrichen
	
	for(int i = 0; i <16; i++){
		anzahl[i] = 0;
	}
	
	double geld 	     = 200;
	double geld_sec		 = 0;
	
	double[] kosten = new double[17];
	
	kosten[0]  = 5000;
	kosten[1]  = 8000;
	kosten[2]  = 15000;
	kosten[3]  = 40000;
	kosten[4]  = 80000;
	kosten[5]  = 150000;
	kosten[6]  = 190000;
	kosten[7]  = 100;
	kosten[8]  = 500;
	kosten[9]  = 5600;
	kosten[10] = 18000;
	kosten[11] = 40000;
	kosten[12] = 240000;
	kosten[13] = 400000;
	kosten[14] = 950000;
	kosten[15] = 1200000;
	kosten[16] = 1900000;
	
	double[] steigern = new double[17];
	
	steigern[0]  = 1;
	steigern[1]  = 1.5;
	steigern[2]  = 2;
	steigern[3]  = 3;
	steigern[4]  = 5;
	steigern[5]  = 6.5;
	steigern[6]  = 9;
	steigern[7]  = 0.50;
	steigern[8]  = 1;
	steigern[9]  = 2.5;
	steigern[10] = 7.30;
	steigern[11] = 19.70;
	steigern[12] = 37.60;
	steigern[13] = 69.75;
	steigern[14] = 99.10;
	steigern[15] = 130;
	steigern[16] = 205.30;

	private JButton save;
	
	JButton[] buttonArray  = new JButton[9];
	JButton[] buttonArray2 = new JButton[5]; //hier gibts die nächste Fehlerausgabe. Das ";" wird rot unterstrichen
	

	public Gui(){
	
		
		for(int i = 0; i<buttonArray.length; i++){
			int x = 25 * (i+1);
			buttonArray[i] = new JButton("+");
			buttonArray[i].setBounds(x, 300, 100, 100);
			buttonArray[i].addActionListener(this);
		}
			
		save = new JButton("Save");
		save.setBounds(0,1750,100,100);
		save.addActionListener(this);
		add(save);
		
		for(int i = 0; i<buttonArray2.length; i++){
			int x = 25 * (i+1);
			buttonArray2[i] = new JButton("A");
			buttonArray2[i].setBounds(x, 300, 100, 100);
			buttonArray2[i].addActionListener(this);
		}
		
	}
	
	public void paint(Graphics g){
		
		super.paint(g);
		Graphics2D fs =(Graphics2D)g;
		
		fs.drawString("Geld = "+ geld, 400,50);
		fs.drawString("Geld / sec = " + geld_sec, 500,50);
		
		fs.drawString("Kosten: ",10,50);
		fs.drawString("pro Sec: ",160,50);
		fs.drawString("Upgrad: ",260,50);
		
		fs.drawString("Zigaretten " +kosten[7],10,75);
		fs.drawString(" " +steigern[7],160,75);
		fs.drawString("= Zigaretten " +anzahl[0],260,75);
		fs.drawString("Kaugummi  "+kosten[8] ,10,100);
		fs.drawString(""+steigern[8],160,100);
		fs.drawString("= Kaugummi  "+anzahl[1],260,100);
		fs.drawString("Blumen  "+kosten[9],10,125);
		fs.drawString(""+steigern[9],160,125);
		fs.drawString("= Blumen  "+anzahl[2],260,125);
		fs.drawString("Tante Ema  "+kosten[10],10,150);
		fs.drawString(""+steigern[10],160,150);
		fs.drawString("= Tante Ema  "+anzahl[3],260,150);
		fs.drawString("Kaufhaus  "+kosten[11],10,175);
		fs.drawString(""+steigern[11],160,175);
		fs.drawString("= Kaufhaus  "+anzahl[4],260,175);
		fs.drawString("Öl  "+kosten[12],10,200);
		fs.drawString(""+steigern[12],160,200);
		fs.drawString("= Öl  "+anzahl[5],260,200);
		fs.drawString("Erz "+kosten[13],10,225);
		fs.drawString(""+steigern[13],160,225);
		fs.drawString("= Erz "+anzahl[6],260,225);
		fs.drawString("Stahl  "+kosten[14],10,250);
		fs.drawString(""+steigern[14],160,250);
		fs.drawString("= Stahl  "+anzahl[7],260,250);
		fs.drawString("Gold  "+kosten[15],10,275);
		fs.drawString(""+steigern[15],160,275);
		fs.drawString("= Gold  "+anzahl[8],260,275);
		fs.drawString("Diamanten "+kosten[16],10,300);
		fs.drawString(""+steigern[16],160,300);
		fs.drawString("= Diamanten "+anzahl[9],260,300);
		
		fs.drawString("Werbung/Kosten: ", 1100,50);
		fs.drawString("Prozent steigerung: ", 1250,50);
		fs.drawString("Upgrade: ", 1400,50);
		
		fs.drawString("Flyer: " + kosten[0],1100,75);
		fs.drawString("" + steigern[0],1300,75);
		fs.drawString("= Flyer " + anzahl[10],1400,75);
		fs.drawString("Visitenkarten: " + kosten[1],1100,100);
		fs.drawString("" + steigern[1] ,1300,100);
		fs.drawString("= Visitenkarten " + anzahl[11],1400,100);
		fs.drawString("Plackart: " + kosten[2],1100,125);
		fs.drawString("" + steigern[2],1300,125);
		fs.drawString(" = Plackart " + anzahl[12],1400,125);
		fs.drawString("Werbebanner: " + kosten[3],1100,150);
		fs.drawString("" + steigern[3],1300,150);
		fs.drawString("= Werbebanner " + anzahl[13],1400,150);
		fs.drawString("Zeitung: " + kosten[4],1100,175);
		fs.drawString("" + steigern[4],1300,175);
		fs.drawString("= Zeitung " + anzahl[14],1400,175);
		fs.drawString("Radio: " + kosten[5],1100,200);
		fs.drawString("" + steigern[5],1300,200);
		fs.drawString("= Radio " + anzahl[15],1400,200);
		fs.drawString("Fernsehen: " + kosten[6],1100,225);
		fs.drawString("" + steigern[6],1300,225);
		fs.drawString("= Fernsehen " +anzahl[16],1400,225);
		
		repaint();
	}
	
	public void actionPerformed(ActionEvent e) {
		
		if(e.getSource() ==buttonArray[0]){
			
			if(geld >=kosten[7]){
			anzahl[0] = +1;
			geld_sec = geld_sec + steigern[1];
			geld = geld - kosten[7];
			kosten[7] = kosten[7] + (kosten[7] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray[1]){
			
			if(geld >=kosten[8]){
			anzahl[1] = +1;
			geld_sec = geld_sec + steigern[8];
			geld = geld - kosten[8];
			kosten[8] = kosten[8] + (kosten[8] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray[2]){
			
			if(geld >=kosten[9]){
			anzahl[2] = +1;
			geld_sec = geld_sec + steigern[9];
			geld = geld - kosten[9];
			kosten[9] = kosten[9] + (kosten[9] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray[3]){
			
			if(geld >=kosten[10]){
			anzahl[3]  = +1;
			geld_sec = geld_sec + steigern[10];
			geld = geld - kosten[10];
			kosten[10] = kosten[10] + (kosten[10] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() ==buttonArray[4]){
			
			if(geld >=kosten[11]){
			anzahl[4]  = +1 ;
			geld_sec = geld_sec + steigern[11];
			geld = geld - kosten[11];
			kosten[11] = kosten[11] + (kosten[11] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray[5]){
			
			if(geld >=kosten[12]){
			anzahl[5] = +1;
			geld_sec = geld_sec + steigern[12];
			geld = geld - kosten[12];
			kosten[12] = kosten[12] + (kosten[12] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray[6]){
			
			if(geld >=kosten[13]){
			anzahl[6] = +1;
			geld_sec = geld_sec + steigern[13];
			geld = geld - kosten[13];
			kosten[13] = kosten[13] + (kosten[13] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray[7]){
			
			if(geld >=kosten[14]){
			anzahl[7] = +1;
			geld_sec = geld_sec + steigern[14];
			geld = geld - kosten[14];
			kosten[14] = kosten[14] + (kosten[14] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray[8]){
			
			if(geld >=kosten[15]){
			anzahl[8] = +1;
			geld_sec = geld_sec + steigern[15];
			geld = geld - kosten[15];
			kosten[15] = kosten[15] + (kosten[15] / 4);
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray[9]){
			
			if(geld >=kosten[16]){
			anzahl[9] = +1;
			geld_sec = geld_sec + steigern[16];
			geld = geld - kosten[16];
			kosten[16] = kosten[16] + (kosten[16] / 4);
			}else{
				nicht_geld();
			}
			}else if(e.getSource() == save){
				save();
		}else if(e.getSource() == buttonArray2[i]){
			
			if(geld>= kosten[0]){
				anzahl[10] = +1;
				geld_sec= geld_sec + ((geld_sec/100) *steigern[0]);
				geld = geld - kosten[0];
				kosten[0] = kosten[0] + (kosten[0]  /4);
			}else if (anzahl[10] >= 10){
				zu_viel();
			}else{
				nicht_geld();
			}
			
		}else if(e.getSource() == buttonArray2[0]){
			
			if(geld>= kosten[10]){
				anzahl[11] = +1;
				geld_sec= geld_sec + ((geld_sec/100) * steigern[1]);
				geld = geld - kosten[1];
				kosten[1] = kosten[1] + (kosten[1]  /4);
			}else if(anzahl[11] >= 10){
				zu_viel();
			}else{
				nicht_geld();
			}
		
		}else if(e.getSource() == buttonArray2[1]){
			
			if(geld>= kosten[2]){
				anzahl[12] = +1;
				geld_sec= geld_sec + ((geld_sec/100) * steigern[2]);
				geld = geld - kosten[2];
				kosten[2] = kosten[2] + (kosten[2]  /4);
			}else if(anzahl[12] >= 10){
				zu_viel();
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray2[2]){
			
			if(geld>= kosten[3]){
				anzahl[13] = +1;
				geld_sec= geld_sec + ((geld_sec/100) * steigern[3]);
				geld = geld - kosten[3];
				kosten[3] = kosten[3] + (kosten[3]  /4);
			}else if(anzahl[13] >= 10){
				zu_viel();
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray2[3]){
			
			if(geld>= kosten[4]){
				anzahl[14] = +1;
				geld_sec= geld_sec + ((geld_sec/100) * steigern[4]);
				geld = geld - kosten[4];
				kosten[4] = kosten[4] + (kosten[4]  /4);
			}else if(anzahl[14] >= 10){
				zu_viel();
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray2[4]){
			
			if(geld>= kosten[5]){
				anzahl[15] = +1;
				geld_sec= geld_sec + ((geld_sec/100) * steigern[5]);
				geld = geld - kosten[5];
				kosten[5] = kosten[5] + (kosten[5]  /4);
			}else if(anzahl[15] >= 10){
				zu_viel();
			}else{
				nicht_geld();
			}
		}else if(e.getSource() == buttonArray2[5]){
			
			if(geld>= kosten[6]){
				anzahl[16] = +1;
				geld_sec= geld_sec + ((geld_sec/100) * steigern[6]);
				geld = geld - kosten[6];
				kosten[6] = kosten[6] + (kosten[6]  /4);
			}else if(anzahl[16] >= 10){
				zu_viel();
			}else{
				nicht_geld();
			}
		}
	}

	public void save(){
		
	}
	
	public void nicht_geld(){
		
		Object[] options ={"OK"};
		
		JOptionPane.showOptionDialog(null,"Nicht genügend Geld","Informationen/Erklärung",JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,options,options[0]);
	}
	
	public void zu_viel(){
		
		Object[] options ={"OK"};
		
		JOptionPane.showOptionDialog(null,"Maximum Ereicht","Informationen/Erklärung",JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,options,options[0]);
	}
}

2015-03-12 15_47_19-Java - Wirdschaft_src_Gui.java - Eclipse.jpg
2015-03-12 15_47_46-Java - Wirdschaft_src_Gui.java - Eclipse.jpg
 
Zuletzt bearbeitet:

Dompteur

Top Contributor
Deine for-Schleife steht da irgendwie verloren zwischen den Instanzvariablen-Deklarationen.
Code gehört in eine Methode.

(Ja, ich weißt, es gibt zwar noch andere Stellen, wo man Code hinpacken kann, aber für den Anfang will ich niemanden verwirren).
 

Saheeda

Top Contributor
Mir ist noch was aufgefallen:

Du kannst vermutlich deine ActionPerformed-Methode stark verkürzen.

Den richtigen Button würde ich mit einer Schleife suchen:

Java:
public void actionPerformed(ActionEvent e){
		for (int i = 0; i < buttonArray.length; i++) {
			if(e.getSource() == buttonArray[i]){
				
				// mach was
			}
		}		
	}

Die Arrays "kosten" und "steigern" würde ich so umbauen (bzw. in getrennte Arrays speichern), dass der Index des Buttons mit dem Index in den anderen Arrays identisch ist. Oder zumindest die Differenz immer gleich ist. Dann kannst du nämlich auch sowas machen:


Java:
public void actionPerformed(ActionEvent e){
		for (int i = 0; i < buttonArray.length; i++) {
			if(e.getSource() == buttonArray[i]){
				
				if(geld >=kosten[i]){
					anzahl[i] = +1;
					geld_sec = geld_sec + steigern[i];
					geld = geld - kosten[i];
					kosten[i] = kosten[i] + (kosten[i] / 4);
					}else{
					nicht_geld();
					}
			}
		}		
	}

---

Zum ;-Problem:
Du kannst z.B. eine Methode "initialisiere()" machen und dort die Arrays befüllen.

Java:
public void initialize() {
		for (int i = 0; i < 16; i++) {
			anzahl[i] = 0;
		}

		kosten[0] = 5000;
		kosten[1] = 8000;
		kosten[2] = 15000;
		kosten[3] = 40000;
		kosten[4] = 80000;
		kosten[5] = 150000;
		kosten[6] = 190000;
		kosten[7] = 100;
		kosten[8] = 500;
		kosten[9] = 5600;
		kosten[10] = 18000;
		kosten[11] = 40000;
		kosten[12] = 240000;
		kosten[13] = 400000;
		kosten[14] = 950000;
		kosten[15] = 1200000;
		kosten[16] = 1900000;

		steigern[0] = 1;
		steigern[1] = 1.5;
		steigern[2] = 2;
		steigern[3] = 3;
		steigern[4] = 5;
		steigern[5] = 6.5;
		steigern[6] = 9;
		steigern[7] = 0.50;
		steigern[8] = 1;
		steigern[9] = 2.5;
		steigern[10] = 7.30;
		steigern[11] = 19.70;
		steigern[12] = 37.60;
		steigern[13] = 69.75;
		steigern[14] = 99.10;
		steigern[15] = 130;
		steigern[16] = 205.30;

	}
 
Zuletzt bearbeitet:

Flown

Administrator
Mitarbeiter
Arrays mit initialisierten Werten schreibt man so:

Java:
double[] steigern = { 1, 1.5, 2, 3, 5, 6.5, 9, 0.5, 1, 2.5, 7.3, 19.7, 37.6, 69.75, 99.1, 130, 205.3 };
double[] kosten = { 5000, 8000, 15000, 40000, 80000, 150000, 190000, 100, 500, 5600, 18000, 40000, 240000, 400000, 950000, 1200000, 1900000 };
 
Danke für alles allerdings wenn ich das so änder(und ich hoffe es stimmt so) funktioniert garnix mehr :D

Java:
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

public class Gui extends JPanel  implements ActionListener{

	private static final long serialVersionUID = 1L;
	
	
		int[] anzahl = new int[16];
		double[] steigern = new double[17];
		double[] kosten = new double[17];
		JButton[] buttonArray  = new JButton[9];
		JButton[] buttonArray2 = new JButton[5];
		private JButton save;
		double geld 	     = 200;
		double geld_sec		 = 0;
		
		
public void initialize(){
		
	for(int i = 0; i <16; i++){
			anzahl[i] = 0;
		}	
	
	kosten[0]  = 5000;
	kosten[1]  = 8000;
	kosten[2]  = 15000;
	kosten[3]  = 40000;
	kosten[4]  = 80000;
	kosten[5]  = 150000;
	kosten[6]  = 190000;
	kosten[7]  = 100;
	kosten[8]  = 500;
	kosten[9]  = 5600;
	kosten[10] = 18000;
	kosten[11] = 40000;
	kosten[12] = 240000;
	kosten[13] = 400000;
	kosten[14] = 950000;
	kosten[15] = 1200000;
	kosten[16] = 1900000;
	
	
	steigern[0]  = 1;
	steigern[1]  = 1.5;
	steigern[2]  = 2;
	steigern[3]  = 3;
	steigern[4]  = 5;
	steigern[5]  = 6.5;
	steigern[6]  = 9;
	steigern[7]  = 0.50;
	steigern[8]  = 1;
	steigern[9]  = 2.5;
	steigern[10] = 7.30;
	steigern[11] = 19.70;
	steigern[12] = 37.60;
	steigern[13] = 69.75;
	steigern[14] = 99.10;
	steigern[15] = 130;
	steigern[16] = 205.30;
		}

	public Gui(){
	
		
		for(int i = 0; i<buttonArray.length; i++){
			int x = 25 * (i+1);
			buttonArray[i] = new JButton("+");
			buttonArray[i].setBounds(x, 300, 100, 100);
			buttonArray[i].addActionListener(this);
		}
			
		save = new JButton("Save");
		save.setBounds(0,1750,100,100);
		save.addActionListener(this);
		add(save);
		
		for(int i = 0; i<buttonArray2.length; i++){
			int x = 25 * (i+1);
			buttonArray2[i] = new JButton("A");
			buttonArray2[i].setBounds(x, 300, 100, 100);
			buttonArray2[i].addActionListener(this);
		}
		
	}
	
	public void paint(Graphics g){
		
		super.paint(g);
		Graphics2D fs =(Graphics2D)g;
		
		fs.drawString("Geld = "+ geld, 400,50);
		fs.drawString("Geld / sec = " + geld_sec, 500,50);
		
		fs.drawString("Kosten: ",10,50);
		fs.drawString("pro Sec: ",160,50);
		fs.drawString("Upgrad: ",260,50);
		
		fs.drawString("Zigaretten " +kosten[7],10,75);
		fs.drawString(" " +steigern[7],160,75);
		fs.drawString("= Zigaretten " +anzahl[0],260,75);
		fs.drawString("Kaugummi  "+kosten[8] ,10,100);
		fs.drawString(""+steigern[8],160,100);
		fs.drawString("= Kaugummi  "+anzahl[1],260,100);
		fs.drawString("Blumen  "+kosten[9],10,125);
		fs.drawString(""+steigern[9],160,125);
		fs.drawString("= Blumen  "+anzahl[2],260,125);
		fs.drawString("Tante Ema  "+kosten[10],10,150);
		fs.drawString(""+steigern[10],160,150);
		fs.drawString("= Tante Ema  "+anzahl[3],260,150);
		fs.drawString("Kaufhaus  "+kosten[11],10,175);
		fs.drawString(""+steigern[11],160,175);
		fs.drawString("= Kaufhaus  "+anzahl[4],260,175);
		fs.drawString("Öl  "+kosten[12],10,200);
		fs.drawString(""+steigern[12],160,200);
		fs.drawString("= Öl  "+anzahl[5],260,200);
		fs.drawString("Erz "+kosten[13],10,225);
		fs.drawString(""+steigern[13],160,225);
		fs.drawString("= Erz "+anzahl[6],260,225);
		fs.drawString("Stahl  "+kosten[14],10,250);
		fs.drawString(""+steigern[14],160,250);
		fs.drawString("= Stahl  "+anzahl[7],260,250);
		fs.drawString("Gold  "+kosten[15],10,275);
		fs.drawString(""+steigern[15],160,275);
		fs.drawString("= Gold  "+anzahl[8],260,275);
		fs.drawString("Diamanten "+kosten[16],10,300);
		fs.drawString(""+steigern[16],160,300);
		fs.drawString("= Diamanten "+anzahl[9],260,300);
		
		fs.drawString("Werbung/Kosten: ", 1100,50);
		fs.drawString("Prozent steigerung: ", 1250,50);
		fs.drawString("Upgrade: ", 1400,50);
		
		fs.drawString("Flyer: " + kosten[0],1100,75);
		fs.drawString("" + steigern[0],1300,75);
		fs.drawString("= Flyer " + anzahl[10],1400,75);
		fs.drawString("Visitenkarten: " + kosten[1],1100,100);
		fs.drawString("" + steigern[1] ,1300,100);
		fs.drawString("= Visitenkarten " + anzahl[11],1400,100);
		fs.drawString("Plackart: " + kosten[2],1100,125);
		fs.drawString("" + steigern[2],1300,125);
		fs.drawString(" = Plackart " + anzahl[12],1400,125);
		fs.drawString("Werbebanner: " + kosten[3],1100,150);
		fs.drawString("" + steigern[3],1300,150);
		fs.drawString("= Werbebanner " + anzahl[13],1400,150);
		fs.drawString("Zeitung: " + kosten[4],1100,175);
		fs.drawString("" + steigern[4],1300,175);
		fs.drawString("= Zeitung " + anzahl[14],1400,175);
		fs.drawString("Radio: " + kosten[5],1100,200);
		fs.drawString("" + steigern[5],1300,200);
		fs.drawString("= Radio " + anzahl[15],1400,200);
		fs.drawString("Fernsehen: " + kosten[6],1100,225);
		fs.drawString("" + steigern[6],1300,225);
		fs.drawString("= Fernsehen " +anzahl[16],1400,225);
		
		repaint();
	}
	
	public void actionPerformed(ActionEvent e) {
		
		for (int i = 0; i < buttonArray.length; i++) {
			if(e.getSource() == buttonArray[i]){
 
				if(geld >=kosten[i]){
					anzahl[i] = +1;
					geld_sec = geld_sec + steigern[i];
					geld = geld - kosten[i];
					kosten[i] = kosten[i] + (kosten[i] / 4);
					}else{
					nicht_geld();
					}
			}
		}
		
		for(int i = 0; i<buttonArray2.length;i++){
			if(e.getSource() == buttonArray2[i]){
				 
				if(geld >=kosten[i]){
					anzahl[i] = +1;
					geld_sec = geld_sec + steigern[i];
					geld = geld - kosten[i];
					kosten[i] = kosten[i] + (kosten[i] / 4);
					}else if(anzahl[i] >= 10){
					zu_viel();
					}else{
						nicht_geld();
					}
			}
		}
	}
		
	public void save(){
		
	}
	
	public void nicht_geld(){
		
		Object[] options ={"OK"};
		
		JOptionPane.showOptionDialog(null,"Nicht genügend Geld","Informationen/Erklärung",JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,options,options[0]);
	}
	
	public void zu_viel(){
		
		Object[] options ={"OK"};
		
		JOptionPane.showOptionDialog(null,"Maximum Ereicht","Informationen/Erklärung",JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,options,options[0]);
	}
}
 
Java:
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

public class Gui extends JPanel  implements ActionListener{

	private static final long serialVersionUID = 1L;
	
	
		int[] anzahl = new int[16];
		double[] steigern = new double[17];
		double[] kosten = new double[17];
		JButton[] buttonArray  = new JButton[9];
		JButton[] buttonArray2 = new JButton[5];
		private JButton save;
		double geld 	     = 200;
		double geld_sec		 = 0;
		
		
public void initialize(){
		
	for(int i = 0; i <16; i++){
			anzahl[i] = 0;
		}	
	
	double[] steigern = { 1, 1.5, 2, 3, 5, 6.5, 9, 0.5, 1, 2.5, 7.3, 19.7, 37.6, 69.75, 99.1, 130, 205.3 };
	double[] kosten = { 5000, 8000, 15000, 40000, 80000, 150000, 190000, 100, 500, 5600, 18000, 40000, 240000, 400000, 950000, 1200000, 1900000 };
		}

	public Gui(){
	
	
		
		for(int i = 0; i<buttonArray.length; i++){
			int x = 25 * (i+1);
			buttonArray[i] = new JButton("+");
			buttonArray[i].setBounds(x, 300, 100, 100);
			buttonArray[i].addActionListener(this);
		}
			
		save = new JButton("Save");
		save.setBounds(0,1750,100,100);
		save.addActionListener(this);
		add(save);
		
		for(int i = 0; i<buttonArray2.length; i++){
			int x = 25 * (i+1);
			buttonArray2[i] = new JButton("A");
			buttonArray2[i].setBounds(x, 300, 100, 100);
			buttonArray2[i].addActionListener(this);
		}
		
	}
	
	public void paint(Graphics g){
		
		
		
		super.paint(g);
		Graphics2D fs =(Graphics2D)g;
		
		fs.drawString("Geld = "+ geld, 400,50);
		fs.drawString("Geld / sec = " + geld_sec, 500,50);
		
		fs.drawString("Kosten: ",10,50);
		fs.drawString("pro Sec: ",160,50);
		fs.drawString("Upgrad: ",260,50);
		
		fs.drawString("Zigaretten " +kosten[7],10,75);
		fs.drawString(" " +steigern[7],160,75);
		fs.drawString("= Zigaretten " +anzahl[0],260,75);
		fs.drawString("Kaugummi  "+kosten[8] ,10,100);
		fs.drawString(""+steigern[8],160,100);
		fs.drawString("= Kaugummi  "+anzahl[1],260,100);
		fs.drawString("Blumen  "+kosten[9],10,125);
		fs.drawString(""+steigern[9],160,125);
		fs.drawString("= Blumen  "+anzahl[2],260,125);
		fs.drawString("Tante Ema  "+kosten[10],10,150);
		fs.drawString(""+steigern[10],160,150);
		fs.drawString("= Tante Ema  "+anzahl[3],260,150);
		fs.drawString("Kaufhaus  "+kosten[11],10,175);
		fs.drawString(""+steigern[11],160,175);
		fs.drawString("= Kaufhaus  "+anzahl[4],260,175);
		fs.drawString("Öl  "+kosten[12],10,200);
		fs.drawString(""+steigern[12],160,200);
		fs.drawString("= Öl  "+anzahl[5],260,200);
		fs.drawString("Erz "+kosten[13],10,225);
		fs.drawString(""+steigern[13],160,225);
		fs.drawString("= Erz "+anzahl[6],260,225);
		fs.drawString("Stahl  "+kosten[14],10,250);
		fs.drawString(""+steigern[14],160,250);
		fs.drawString("= Stahl  "+anzahl[7],260,250);
		fs.drawString("Gold  "+kosten[15],10,275);
		fs.drawString(""+steigern[15],160,275);
		fs.drawString("= Gold  "+anzahl[8],260,275);
		fs.drawString("Diamanten "+kosten[16],10,300);
		fs.drawString(""+steigern[16],160,300);
		fs.drawString("= Diamanten "+anzahl[9],260,300);
		
		fs.drawString("Werbung/Kosten: ", 1100,50);
		fs.drawString("Prozent steigerung: ", 1250,50);
		fs.drawString("Upgrade: ", 1400,50);
		
		fs.drawString("Flyer: " + kosten[0],1100,75);
		fs.drawString("" + steigern[0],1300,75);
		fs.drawString("= Flyer " + anzahl[10],1400,75);
		fs.drawString("Visitenkarten: " + kosten[1],1100,100);
		fs.drawString("" + steigern[1] ,1300,100);
		fs.drawString("= Visitenkarten " + anzahl[11],1400,100);
		fs.drawString("Plackart: " + kosten[2],1100,125);
		fs.drawString("" + steigern[2],1300,125);
		fs.drawString(" = Plackart " + anzahl[12],1400,125);
		fs.drawString("Werbebanner: " + kosten[3],1100,150);
		fs.drawString("" + steigern[3],1300,150);
		fs.drawString("= Werbebanner " + anzahl[13],1400,150);
		fs.drawString("Zeitung: " + kosten[4],1100,175);
		fs.drawString("" + steigern[4],1300,175);
		fs.drawString("= Zeitung " + anzahl[14],1400,175);
		fs.drawString("Radio: " + kosten[5],1100,200);
		fs.drawString("" + steigern[5],1300,200);
		fs.drawString("= Radio " + anzahl[15],1400,200);
		fs.drawString("Fernsehen: " + kosten[6],1100,225);
		fs.drawString("" + steigern[6],1300,225);
		fs.drawString("= Fernsehen " +anzahl[16],1400,225);
		
		repaint();
	}
	
	public void actionPerformed(ActionEvent e) {
		
		
		
		for (int i = 0; i < buttonArray.length; i++) {
			
			
			if(e.getSource() == buttonArray[i]){
 
				if(geld >=kosten[i]){
					anzahl[i] = +1;
					geld_sec = geld_sec + steigern[i];
					geld = geld - kosten[i];
					kosten[i] = kosten[i] + (kosten[i] / 4);
					}else{
					nicht_geld();
					}
			}else{
				for (int j = 0; j < buttonArray2.length; j++) {
					
					initialize();
					if(e.getSource() == buttonArray2[i]){
		 
						if(geld >=kosten[i]){
							anzahl[i] = +1;
							geld_sec = geld_sec + steigern[i];
							geld = geld - kosten[i];
							kosten[i] = kosten[i] + (kosten[i] / 4);
							}else if (anzahl[i] >= 10){
							zu_viel();
							}else{
								nicht_geld();
							}
					}
			}
		}
	}
		}
		
	public void save(){
		
	}
	
	public void nicht_geld(){
		
		Object[] options ={"OK"};
		
		JOptionPane.showOptionDialog(null,"Nicht genügend Geld","Informationen/Erklärung",JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,options,options[0]);
	}
	
	public void zu_viel(){
		
		Object[] options ={"OK"};
		
		JOptionPane.showOptionDialog(null,"Maximum Ereicht","Informationen/Erklärung",JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,options,options[0]);
	}
}

bei diesem Code krieg ich diese Fehlermeldung.

Java:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 16
	at Gui.paint(Gui.java:128)
	at javax.swing.JComponent.paintChildren(Unknown Source)
	at javax.swing.JComponent.paint(Unknown Source)
	at javax.swing.JComponent.paintChildren(Unknown Source)
	at javax.swing.JComponent.paint(Unknown Source)
	at javax.swing.JLayeredPane.paint(Unknown Source)
	at javax.swing.JComponent.paintChildren(Unknown Source)
	at javax.swing.JComponent.paintToOffscreen(Unknown Source)
	at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
	at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
	at javax.swing.RepaintManager.paint(Unknown Source)
	at javax.swing.JComponent.paint(Unknown Source)
	at java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)
	at sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
	at sun.awt.SunGraphicsCallback.runComponents(Unknown Source)
	at java.awt.Container.paint(Unknown Source)
	at java.awt.Window.paint(Unknown Source)
	at javax.swing.RepaintManager$4.run(Unknown Source)
	at javax.swing.RepaintManager$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
	at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
	at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
	at javax.swing.RepaintManager.access$1300(Unknown Source)
	at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
	at java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$500(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
 

tffasse

Mitglied
Um den letzten Index des Arrays zu bekommen, musst du nicht auf den 16. Index zugreifen, sondern auf den 15 (bedenke, dass der Index immer mit 0 anfängt und nicht mit 1 ! ).

Aber eigentlich müsstest du selber darauf kommen. Immerhin sagt dir die Fehlermeldung 1. was für eine Exception geflogen ist (zur Not im Internet oder in der API nachgucken) und 2. wo der Fehler aufgetreten ist. Du kannst ja schließlich nicht bei jeder Exception/ jedem Problem im Forum nachfragen. :bae:
 
Zuletzt bearbeitet:

VfL_Freak

Top Contributor
Moin,

hmm, in der genannten Zeile hat dann Anzahl wohl keine 17 (!!) Elemente (bzw. kein Element [16]) mehr.

Leider ist Dein Code recht unübersichtlich, aber mir ist so auf die Schnelle diese Zeilen aufgefallen:
Java:
anzahl[i] = +1;
Willst Du hier den Wert '1' setzen oder den Inhalt inkrementieren ??
Im ersten Fall würde auch
Java:
anzahl[i] = 1;
reichen, im zweiten Fall müsstest Du dann auch wirklich was addieren !!
Java:
anzahl[i] = anzahl[i]+1;
// rsp.
anzahl[i]++;

Gruß Klaus
 
Das hab ich jetzt so weit geändert. Allerdings funktioniert immer noch nix.
Java:
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Timer;
import java.util.TimerTask;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

public class Gui extends JPanel  implements ActionListener{

	private static final long serialVersionUID = 1L;
	
		int[] anzahl = new int[15];
		double[] steigern = new double[15];
		double[] kosten = new double[15];
		JButton[] buttonArray  = new JButton[9];
		JButton[] buttonArray2 = new JButton[5];
		private JButton save;
		double geld 	     = 200;
		double geld_sec		 = 0;
		Timer timer;
		
public void initialize(){
		
	for(int i = 0; i <16; i++){
			anzahl[i] = 0;
		}	
	
	double[] steigern = { 1, 1.5, 2, 3, 5, 6.5, 9, 0.5, 1, 2.5, 7.3, 19.7, 37.6, 69.75, 99.1, 130, 205.3 };
	double[] kosten = { 5000, 8000, 15000, 40000, 80000, 150000, 190000, 100, 500, 5600, 18000, 40000, 240000, 400000, 950000, 1200000, 1900000 };
		}
  

	public Gui(){
		
		new Timer().schedule(new TimerTask() {
		    @Override
		    public void run() {
		        geld += geld_sec;
		    }
			}, 1000, 1000);
		
		for(int i = 0; i<buttonArray.length; i++){
			int x = 25 * (i+1);
			buttonArray[i] = new JButton("+");
			buttonArray[i].setBounds(x, 300, 100, 100);
			buttonArray[i].addActionListener(this);
		}
			
		save = new JButton("Save");
		save.setBounds(0,1750,100,100);
		save.addActionListener(this);
		add(save);
		
		for(int i = 0; i<buttonArray2.length; i++){
			int x = 25 * (i+1);
			buttonArray2[i] = new JButton("A");
			buttonArray2[i].setBounds(x, 300, 100, 100);
			buttonArray2[i].addActionListener(this);
		}
	}
	
	public void paint(Graphics g){
		
		super.paint(g);
		Graphics2D fs =(Graphics2D)g;
		
		fs.drawString("Geld = "+ geld, 400,50);
		fs.drawString("Geld / sec = " + geld_sec, 500,50);
		
		fs.drawString("Kosten: ",10,50);
		fs.drawString("pro Sec: ",160,50);
		fs.drawString("Upgrad: ",260,50);
		
		fs.drawString("Zigaretten " +kosten[7],10,75);
		fs.drawString(" " +steigern[7],160,75);
		fs.drawString("= Zigaretten " +anzahl[0],260,75);
		fs.drawString("Kaugummi  "+kosten[8] ,10,100);
		fs.drawString(""+steigern[8],160,100);
		fs.drawString("= Kaugummi  "+anzahl[1],260,100);
		fs.drawString("Blumen  "+kosten[9],10,125);
		fs.drawString(""+steigern[9],160,125);
		fs.drawString("= Blumen  "+anzahl[2],260,125);
		fs.drawString("Tante Ema  "+kosten[10],10,150);
		fs.drawString(""+steigern[10],160,150);
		fs.drawString("= Tante Ema  "+anzahl[3],260,150);
		fs.drawString("Kaufhaus  "+kosten[11],10,175);
		fs.drawString(""+steigern[11],160,175);
		fs.drawString("= Kaufhaus  "+anzahl[4],260,175);
		fs.drawString("Öl  "+kosten[12],10,200);
		fs.drawString(""+steigern[12],160,200);
		fs.drawString("= Öl  "+anzahl[5],260,200);
		fs.drawString("Erz "+kosten[13],10,225);
		fs.drawString(""+steigern[13],160,225);
		fs.drawString("= Erz "+anzahl[6],260,225);
		fs.drawString("Stahl  "+kosten[14],10,250);
		fs.drawString(""+steigern[14],160,250);
		fs.drawString("= Stahl  "+anzahl[7],260,250);
		fs.drawString("Gold  "+kosten[15],10,275);
		fs.drawString(""+steigern[15],160,275);
		fs.drawString("= Gold  "+anzahl[8],260,275);
		fs.drawString("Diamanten "+kosten[16],10,300);
		fs.drawString(""+steigern[16],160,300);
		fs.drawString("= Diamanten "+anzahl[9],260,300);
		
		fs.drawString("Werbung/Kosten: ", 1100,50);
		fs.drawString("Prozent steigerung: ", 1250,50);
		fs.drawString("Upgrade: ", 1400,50);
		
		fs.drawString("Flyer: " + kosten[0],1100,75);
		fs.drawString("" + steigern[0],1300,75);
		fs.drawString("= Flyer " + anzahl[10],1400,75);
		fs.drawString("Visitenkarten: " + kosten[1],1100,100);
		fs.drawString("" + steigern[1] ,1300,100);
		fs.drawString("= Visitenkarten " + anzahl[11],1400,100);
		fs.drawString("Plackart: " + kosten[2],1100,125);
		fs.drawString("" + steigern[2],1300,125);
		fs.drawString(" = Plackart " + anzahl[12],1400,125);
		fs.drawString("Werbebanner: " + kosten[3],1100,150);
		fs.drawString("" + steigern[3],1300,150);
		fs.drawString("= Werbebanner " + anzahl[13],1400,150);
		fs.drawString("Zeitung: " + kosten[4],1100,175);
		fs.drawString("" + steigern[4],1300,175);
		fs.drawString("= Zeitung " + anzahl[14],1400,175);
		fs.drawString("Radio: " + kosten[5],1100,200);
		fs.drawString("" + steigern[5],1300,200);
		fs.drawString("= Radio " + anzahl[15],1400,200);
		fs.drawString("Fernsehen: " + kosten[6],1100,225);
		fs.drawString("" + steigern[6],1300,225);
		fs.drawString("= Fernsehen " +anzahl[16],1400,225);
		
		repaint();
	}
	
	
	
	public void actionPerformed(ActionEvent e) {
		
		for (int i = 0; i < buttonArray.length; i++) {
			
			
			if(e.getSource() == buttonArray[i]){
 
				if(geld >=kosten[i]){
					anzahl[i] = anzahl[i] +1;
					anzahl[i]++;
					geld_sec = geld_sec + steigern[i];
					geld = geld - kosten[i];
					kosten[i] = kosten[i] + (kosten[i] / 4);
					}else{
						nicht_geld();
					}
			}else{
				for (int j = 0; j < buttonArray2.length; j++) {
					
					initialize();
					if(e.getSource() == buttonArray2[i]){
		 
						if(geld >=kosten[i]){
							anzahl[i] = anzahl[i] +1;
							anzahl[i]++;
							geld_sec = geld_sec + steigern[i];
							geld = geld - kosten[i];
							kosten[i] = kosten[i] + (kosten[i] / 4);
							}else if (anzahl[i] >= 10){
								zu_viel();
							}else{
								nicht_geld();
							}
					}
			}
		}
	}if(e.getSource() == save){
		save();
	}
		}
	public void nicht_geld(){
		
		Object[] options ={"OK"};
		
		JOptionPane.showOptionDialog(null,"Nicht genügend Geld","Informationen/Erklärung",JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,options,options[0]);
	}
	
	public void zu_viel(){
		
		Object[] options ={"OK"};
		
		JOptionPane.showOptionDialog(null,"Maximum Ereicht","Informationen/Erklärung",JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,options,options[0]);
	}
	public void save(){
		
	}
	
}
 

tffasse

Mitglied
Das hab ich jetzt so weit geändert. Allerdings funktioniert immer noch nix.
Java:
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Timer;
import java.util.TimerTask;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

public class Gui extends JPanel  implements ActionListener{

	private static final long serialVersionUID = 1L;
	
		int[] anzahl = new int[15];
		double[] steigern = new double[15];
		double[] kosten = new double[15];
		JButton[] buttonArray  = new JButton[9];
		JButton[] buttonArray2 = new JButton[5];
		private JButton save;
		double geld 	     = 200;
		double geld_sec		 = 0;
		Timer timer;
		
public void initialize(){
		
	for(int i = 0; i <16; i++){
			anzahl[i] = 0;
		}	
	
	double[] steigern = { 1, 1.5, 2, 3, 5, 6.5, 9, 0.5, 1, 2.5, 7.3, 19.7, 37.6, 69.75, 99.1, 130, 205.3 };
	double[] kosten = { 5000, 8000, 15000, 40000, 80000, 150000, 190000, 100, 500, 5600, 18000, 40000, 240000, 400000, 950000, 1200000, 1900000 };
		}
  

	public Gui(){
		
		new Timer().schedule(new TimerTask() {
		    @Override
		    public void run() {
		        geld += geld_sec;
		    }
			}, 1000, 1000);
		
		for(int i = 0; i<buttonArray.length; i++){
			int x = 25 * (i+1);
			buttonArray[i] = new JButton("+");
			buttonArray[i].setBounds(x, 300, 100, 100);
			buttonArray[i].addActionListener(this);
		}
			
		save = new JButton("Save");
		save.setBounds(0,1750,100,100);
		save.addActionListener(this);
		add(save);
		
		for(int i = 0; i<buttonArray2.length; i++){
			int x = 25 * (i+1);
			buttonArray2[i] = new JButton("A");
			buttonArray2[i].setBounds(x, 300, 100, 100);
			buttonArray2[i].addActionListener(this);
		}
	}
	
	public void paint(Graphics g){
		
		super.paint(g);
		Graphics2D fs =(Graphics2D)g;
		
		fs.drawString("Geld = "+ geld, 400,50);
		fs.drawString("Geld / sec = " + geld_sec, 500,50);
		
		fs.drawString("Kosten: ",10,50);
		fs.drawString("pro Sec: ",160,50);
		fs.drawString("Upgrad: ",260,50);
		
		fs.drawString("Zigaretten " +kosten[7],10,75);
		fs.drawString(" " +steigern[7],160,75);
		fs.drawString("= Zigaretten " +anzahl[0],260,75);
		fs.drawString("Kaugummi  "+kosten[8] ,10,100);
		fs.drawString(""+steigern[8],160,100);
		fs.drawString("= Kaugummi  "+anzahl[1],260,100);
		fs.drawString("Blumen  "+kosten[9],10,125);
		fs.drawString(""+steigern[9],160,125);
		fs.drawString("= Blumen  "+anzahl[2],260,125);
		fs.drawString("Tante Ema  "+kosten[10],10,150);
		fs.drawString(""+steigern[10],160,150);
		fs.drawString("= Tante Ema  "+anzahl[3],260,150);
		fs.drawString("Kaufhaus  "+kosten[11],10,175);
		fs.drawString(""+steigern[11],160,175);
		fs.drawString("= Kaufhaus  "+anzahl[4],260,175);
		fs.drawString("Öl  "+kosten[12],10,200);
		fs.drawString(""+steigern[12],160,200);
		fs.drawString("= Öl  "+anzahl[5],260,200);
		fs.drawString("Erz "+kosten[13],10,225);
		fs.drawString(""+steigern[13],160,225);
		fs.drawString("= Erz "+anzahl[6],260,225);
		fs.drawString("Stahl  "+kosten[14],10,250);
		fs.drawString(""+steigern[14],160,250);
		fs.drawString("= Stahl  "+anzahl[7],260,250);
		fs.drawString("Gold  "+kosten[15],10,275);
		fs.drawString(""+steigern[15],160,275);
		fs.drawString("= Gold  "+anzahl[8],260,275);
		fs.drawString("Diamanten "+kosten[16],10,300);
		fs.drawString(""+steigern[16],160,300);
		fs.drawString("= Diamanten "+anzahl[9],260,300);
		
		fs.drawString("Werbung/Kosten: ", 1100,50);
		fs.drawString("Prozent steigerung: ", 1250,50);
		fs.drawString("Upgrade: ", 1400,50);
		
		fs.drawString("Flyer: " + kosten[0],1100,75);
		fs.drawString("" + steigern[0],1300,75);
		fs.drawString("= Flyer " + anzahl[10],1400,75);
		fs.drawString("Visitenkarten: " + kosten[1],1100,100);
		fs.drawString("" + steigern[1] ,1300,100);
		fs.drawString("= Visitenkarten " + anzahl[11],1400,100);
		fs.drawString("Plackart: " + kosten[2],1100,125);
		fs.drawString("" + steigern[2],1300,125);
		fs.drawString(" = Plackart " + anzahl[12],1400,125);
		fs.drawString("Werbebanner: " + kosten[3],1100,150);
		fs.drawString("" + steigern[3],1300,150);
		fs.drawString("= Werbebanner " + anzahl[13],1400,150);
		fs.drawString("Zeitung: " + kosten[4],1100,175);
		fs.drawString("" + steigern[4],1300,175);
		fs.drawString("= Zeitung " + anzahl[14],1400,175);
		fs.drawString("Radio: " + kosten[5],1100,200);
		fs.drawString("" + steigern[5],1300,200);
		fs.drawString("= Radio " + anzahl[15],1400,200);
		fs.drawString("Fernsehen: " + kosten[6],1100,225);
		fs.drawString("" + steigern[6],1300,225);
		fs.drawString("= Fernsehen " +anzahl[16],1400,225);
		
		repaint();
	}
	
	
	
	public void actionPerformed(ActionEvent e) {
		
		for (int i = 0; i < buttonArray.length; i++) {
			
			
			if(e.getSource() == buttonArray[i]){
 
				if(geld >=kosten[i]){
					anzahl[i] = anzahl[i] +1;
					anzahl[i]++;
					geld_sec = geld_sec + steigern[i];
					geld = geld - kosten[i];
					kosten[i] = kosten[i] + (kosten[i] / 4);
					}else{
						nicht_geld();
					}
			}else{
				for (int j = 0; j < buttonArray2.length; j++) {
					
					initialize();
					if(e.getSource() == buttonArray2[i]){
		 
						if(geld >=kosten[i]){
							anzahl[i] = anzahl[i] +1;
							anzahl[i]++;
							geld_sec = geld_sec + steigern[i];
							geld = geld - kosten[i];
							kosten[i] = kosten[i] + (kosten[i] / 4);
							}else if (anzahl[i] >= 10){
								zu_viel();
							}else{
								nicht_geld();
							}
					}
			}
		}
	}if(e.getSource() == save){
		save();
	}
		}
	public void nicht_geld(){
		
		Object[] options ={"OK"};
		
		JOptionPane.showOptionDialog(null,"Nicht genügend Geld","Informationen/Erklärung",JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,options,options[0]);
	}
	
	public void zu_viel(){
		
		Object[] options ={"OK"};
		
		JOptionPane.showOptionDialog(null,"Maximum Ereicht","Informationen/Erklärung",JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,options,options[0]);
	}
	public void save(){
		
	}
	
}

Kann es auch nicht. Du solltest nicht das Array mit dem Wert 15 initialisieren (Zeile 15) sondern in Zeile 132 (vorher Zeile 128, so wie die Fehlermeldung es auch gesagt hat) nicht auf den Wert 16 zugreifen, sondern auf 15. Das Array hat zwar 16 Felder, allerdings fängt der Index bei 0 an, somit ist der letzte Index 15 und nicht 16. Vielleicht solltest du dir nochmal das Thema Arrays genauer ansehen. :rtfm:

Alternativ initialisert du, wie Vfl-Freak gerade im nachfolgenden Beitrag beschrieben hat, das Array anzahl mit dem Wert 17 und änderst die for-Schleife, sodass 17 Felder im Array initialisiert werden, falls du 17 Felder benötigst. Dann wäre der letzte Index 16.
 
Zuletzt bearbeitet:

VfL_Freak

Top Contributor
Moin,

also bitte :oops:
Bist Du sicher, dass Du weißt, was Du da tust ??
Java:
anzahl[i] = anzahl[i] +1;
anzahl[i]++;
Warum denn zweimal hochzählen ???:L

Hast Du überhaupt den Beitrag von @tffasse gelesen?
Nochmal: damit Du überhaupt auf "anzahl[16]" zugreifen kannst, müssen 17 (!!!) Elemente im Array sein, da der Index von 0 ... Länge-1 läuft!

Leider überschaue ich das in Deinem Code nicht wirklich :-(

Gruß Klaus
 
Zuletzt bearbeitet:
Danke danke :D mir ist klar das der Index erst bei 0 anfängt. Das vergess ich nur gern mal wieder und dann kommt sowas raus.....
Jetzt zeigte er alles wieder an biss auf die "+" und "A" Button. Aber denn Save Button schon?? :(
 

VfL_Freak

Top Contributor
den Save-Button addest Du ja auch:
Java:
save = new JButton("Save");
save.setBounds(0,1750,100,100);
save.addActionListener(this);
add(save); // !!!!!
und die anderen ???
 
So weit so gut. Es funktioniert teilweiße.
Java:
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Timer;
import java.util.TimerTask;

import javax.swing.JButton;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

public class Gui extends JPanel  implements ActionListener{

	private static final long serialVersionUID = 1L;
	
		int[] anzahl = new int[10];
		int[] anzahl2 = new int[8];
		double[] steigern_sec = new double[10];
		double[] steigern_pro = new double[8];
		double[] kosten = new double[10];
		double[] kosten2 = new double[8];
		
		JButton[] buttonArray  = new JButton[10];
		JButton[] buttonArray2 = new JButton[7];
		
		private JButton save;
		
		double geld_sec		 = 0;
		double geld = 200;

		
public void initialize(){
		
	for(int i = 0; i <16; i++){
			anzahl[i] = 0;
		}	
	
	double[] steigern_sec = {0.5, 1, 2.5, 7.3, 19.7, 37.6, 69.75, 99.1, 130, 205.3 };
	double[] steigern_pro = {1,1.5,2.5,3,4.5,6,9,};
	double[] kosten = { 100, 500, 5600, 18000, 40000, 240000, 400000, 950000, 1200000, 1900000 };
	double[] kosten2 = { 5000, 8000, 15000, 40000, 80000, 150000, 190000,};
		}
  

	public Gui(){
		
		
		for(int i = 0; i<buttonArray.length; i++){
			int x = 25 * (i+1);
			buttonArray[i] = new JButton("+");
			buttonArray[i].setBounds(x, 300, 100, 100);
			buttonArray[i].addActionListener(this);
			add(buttonArray[i]);
		}
			
		save = new JButton("Save");
		save.setBounds(0,1750,150,100);
		save.addActionListener(this);
		add(save);
		
		for(int i = 0; i<buttonArray2.length; i++){
			int x = 25 * (i+1);
			buttonArray2[i] = new JButton("+A");
			buttonArray2[i].setBounds(x, 1000, 100, 100);
			buttonArray2[i].addActionListener(this);
			add(buttonArray2[i]);
		}
		
		new Timer().schedule(new TimerTask() {
		    @Override
		    public void run() {
		        geld += geld_sec;
		    }
			}, 1000, 1000);
	}
	
	public void paint(Graphics g){
		
		super.paint(g);
		Graphics2D fs =(Graphics2D)g;
		
		fs.drawString("Geld = "+ geld, 400,50);
		fs.drawString("Geld / sec = " + geld_sec, 500,50);
		
		fs.drawString("Kosten: ",10,50);
		fs.drawString("pro Sec: ",160,50);
		fs.drawString("Upgrad: ",260,50);
		
		fs.drawString("Zigaretten " +kosten[0],10,75);
		fs.drawString("" +steigern_sec[0],160,75);
		fs.drawString("= Zigaretten " +anzahl[0],260,75);
		fs.drawString("Kaugummi  "+kosten[1] ,10,100);
		fs.drawString(""+steigern_sec[1],160,100);
		fs.drawString("= Kaugummi  "+anzahl[1],260,100);
		fs.drawString("Blumen  "+kosten[2],10,125);
		fs.drawString(""+steigern_sec[2],160,125);
		fs.drawString("= Blumen  "+anzahl[2],260,125);
		fs.drawString("Tante Ema  "+kosten[3],10,150);
		fs.drawString(""+steigern_sec[3],160,150);
		fs.drawString("= Tante Ema  "+anzahl[3],260,150);
		fs.drawString("Kaufhaus  "+kosten[4],10,175);
		fs.drawString(""+steigern_sec[4],160,175);
		fs.drawString("= Kaufhaus  "+anzahl[4],260,175);
		fs.drawString("Öl  "+kosten[5],10,200);
		fs.drawString(""+steigern_sec[5],160,200);
		fs.drawString("= Öl  "+anzahl[5],260,200);
		fs.drawString("Erz "+kosten[6],10,225);
		fs.drawString(""+steigern_sec[6],160,225);
		fs.drawString("= Erz "+anzahl[6],260,225);
		fs.drawString("Stahl  "+kosten[7],10,250);
		fs.drawString(""+steigern_sec[7],160,250);
		fs.drawString("= Stahl  "+anzahl[7],260,250);
		fs.drawString("Gold  "+kosten[8],10,275);
		fs.drawString(""+steigern_sec[8],160,275);
		fs.drawString("= Gold  "+anzahl[8],260,275);
		fs.drawString("Diamanten "+kosten[9],10,300);
		fs.drawString(""+steigern_sec[9],160,300);
		fs.drawString("= Diamanten "+anzahl[9],260,300);
		
		fs.drawString("Werbung/Kosten: ", 1100,50);
		fs.drawString("Prozent steigerung: ", 1250,50);
		fs.drawString("Upgrade: ", 1400,50);
		
		fs.drawString("Flyer: " + kosten2[0],1100,75);
		fs.drawString("" + steigern_pro[0],1300,75);
		fs.drawString("= Flyer " + anzahl2[0],1400,75);
		fs.drawString("Visitenkarten: " + kosten2[1],1100,100);
		fs.drawString("" + steigern_pro[1] ,1300,100);
		fs.drawString("= Visitenkarten " + anzahl2[1],1400,100);
		fs.drawString("Plackart: " + kosten2[2],1100,125);
		fs.drawString("" + steigern_pro[2],1300,125);
		fs.drawString(" = Plackart " + anzahl2[2],1400,125);
		fs.drawString("Werbebanner: " + kosten2[3],1100,150);
		fs.drawString("" + steigern_pro[3],1300,150);
		fs.drawString("= Werbebanner " + anzahl2[3],1400,150);
		fs.drawString("Zeitung: " + kosten2[4],1100,175);
		fs.drawString("" + steigern_pro[4],1300,175);
		fs.drawString("= Zeitung " + anzahl2[4],1400,175);
		fs.drawString("Radio: " + kosten2[5],1100,200);
		fs.drawString("" + steigern_pro[5],1300,200);
		fs.drawString("= Radio " + anzahl2[5],1400,200);
		fs.drawString("Fernsehen: " + kosten2[6],1100,225);
		fs.drawString("" + steigern_pro[6],1300,225);
		fs.drawString("= Fernsehen " +anzahl2[6],1400,225);
		
		repaint();
	}
	
	
	
	public void actionPerformed(ActionEvent e) {
		
		for (int i = 0; i < buttonArray.length; i++) {
			
			if(e.getSource() == buttonArray[i]){
 
				if(geld >=kosten[i]){
					anzahl[i] = anzahl[i] +1;
					geld_sec = geld_sec + steigern_sec[i];
					geld = geld - kosten[i];
					kosten[i] = kosten[i] + (kosten[i] / 4);
					}else{
						nicht_geld();
					}
			}
		}
		for (int i = 0; i < buttonArray2.length; i++) {
					
					if(e.getSource() == buttonArray2[i]){
		 
						if(geld >=kosten2[i]){
							anzahl2[i] = anzahl2[i] +1;
							geld_sec = geld_sec + steigern_pro[i];
							geld = geld - kosten2[i];
							kosten2[i] = kosten2[i] + (kosten2[i] / 4);
							}else if (anzahl2[i] >= 10){
								zu_viel();
							}else{
								nicht_geld();
							}
					}
			}if(e.getSource() == save){
			save();
		}
	}
		
	public void nicht_geld(){
		
		Object[] options ={"OK"};
		
		JOptionPane.showOptionDialog(null,"Nicht genügend Geld","Informationen/Erklärung",JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,options,options[0]);
	}
	
	public void zu_viel(){
		
		Object[] options ={"OK"};
		
		JOptionPane.showOptionDialog(null,"Maximum Ereicht","Informationen/Erklärung",JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,options,options[0]);
	}
	public void save(){
		
	}
	
}

aber er zeig mir die werte nicht an:
Java:
	double[] steigern_sec = {0.5, 1, 2.5, 7.3, 19.7, 37.6, 69.75, 99.1, 130, 205.3 };
	double[] steigern_pro = {1,1.5,2.5,3,4.5,6,9,};
	double[] kosten = { 100, 500, 5600, 18000, 40000, 240000, 400000, 950000, 1200000, 1900000 };
	double[] kosten2 = { 5000, 8000, 15000, 40000, 80000, 150000, 190000,};

und wenn man denn Button"+" drückt zählt er zwar "anzahl" hoch aber er zieht nichts von "geld" ab.
 

VfL_Freak

Top Contributor
Erstens:
Java:
double[] steigern_sec = {0.5, 1, 2.5, 7.3, 19.7, 37.6, 69.75, 99.1, 130, 205.3 };
double[] steigern_pro = {1,1.5,2.5,3,4.5,6,9,};
Du hast hier Arrays mit double-Werten!
Die Methode "drawString" erwartet aber als ersten Parameter einen String!
mit
Java:
""+steigern_sec[nn]
wird das auch nicht klappen, Du solltest die double besser mit "toString" in die passende Form bringen!

Java:
double[] kosten = { 100, 500, 5600, 18000, 40000, 240000, 400000, 950000, 1200000, 1900000 };
double[] kosten2 = { 5000, 8000, 15000, 40000, 80000, 150000, 190000,};
Warum sind dies denn überhaupt double-Arrays, wenn dann doch nur Integer-Werte drin stehen?
BTW: 'geld' und 'geld_sec' sind auch double, aber mit Integer initialisiert ....

Mir ist auch offen gestanden nicht klar, was die ganze Rechnerei bezwecken soll !!

Gruß Klaus
 
oke ich erklär das mal ganz kurz aber zu erst es ist nur ein Programm zum testen und nichts wirklich sinnvolles:

also man fängt an mit 200 geld und 0 geld pro seconde.
mit dem vorhandenen geld kann man sich Upgrades kaufen um geld_sec zu erhöhen. wenn geld_sec erhöht ist rechnet ein Timer jede seconde geld * geld_sec und so bekommt man mehr geld womit man sich mehr Upgrades kaufen kann um noch mehr geld_sec zubekommen.

so viel zu dem "Spiel Prinzip".

und das was noch nicht funktioniert ist das er mir steigern_sec,steigern_sec,kosten und kosten2 nicht ausgibt. um beim Button klick passiert auch nix ausehr das Anzahl und anzahl2 hoch gezählt wird
 

VfL_Freak

Top Contributor
hmm, was auch dann "geld_sec" bedeuten soll ....

Hast Du denn überhaupt meine vorherigen Hinweise zu den double-Werten gelesen ???
Du kannst einfach wild mit Datentypen und Daten rumhantieren !!

Gruß Klaus
 
geld_sec hat zum beispiel nach einem Upgrade denn wert 0.5. Somit wird jede Seconde "geld" + "geld_sec" addiert.

Natürlich hab ich deinen Hinweis gelesen und beachtet.
aber wenn ich jetzt die double werte in Strings umwandel kann ich doch nicht mehr damit rechnen oder??
aber wenn doch wie sieht diese Umwandlung dann aus?

P.S:
Ich bin euch dank bar für die Hilfe und für eurere Geduld mir mir :D

Grüße David
 

VfL_Freak

Top Contributor
Moin,

Ich bin euch dank bar für die Hilfe und für eurere Geduld mir mir :D
Meine geht offengestanden so langsam zu Ende - aber zum Glück habe ich nur nocheine gute Stunde bis zunm Wochenende :bae:

geld_sec hat zum beispiel nach einem Upgrade denn wert 0.5. Somit wird jede Seconde "geld" + "geld_sec" addiert.
aha - erklärt zwar noch immer noch nicht den Sinn und Zweck des Ganzen, aber bitte ....

Natürlich hab ich deinen Hinweis gelesen und beachtet.
Ok, gelesen vielleicht, aber beachtet ?????

aber wenn ich jetzt die double werte in Strings umwandel kann ich doch nicht mehr damit rechnen oder??
Doch, Du sollst ja auch nicht den Datentyp ansich ändern, sondern nur die Werte für die Anzeige entsprechend aufbereiten! Sprich die korrekte Übergabe an "drawString" !!!

aber wenn doch wie sieht diese Umwandlung dann aus?
Habe ich doch zuvor geschrieben "meinDoubleWert.toString()" ...

Bei solchen Fragen hilft immer ein Blick in die API (Java Platform SE 7)!!
Sorry, aber ich habe ohnehin den Eindruck, dass Dir jede Menge Grundwissen fehl.

Vielleicht versuchst Du Dich besser erstmal an kleineren Augaben oder versuchst zumindest das Ganze step-by-step aufzubauen und nicht gleich alles auf einmal zu wollen.

Hast Du Dir mal theoretisch überlegt, was Dein Programm können soll und wie man es dadfür aufbaut?
Ich habe das Konzept rsp. den Sinn und Zweck des Ganzen immer noch wirklich verstanden (außer das irgendwie mit Geld rumgerechnet werden soll) ..... :noe:

Gruß Klaus
 

tffasse

Mitglied
Vielleicht solltest du das ganze auch erstmal als Konsolenanwendung entwickeln und die Berechnungen testen und anschließend das Programm mit einer grafischen Oberfläche erweitern. :bae:
Denn wie Vfl_Freak schon geschrieben hat, sieht es so aus, als ob dir gewisse Grundkenntnisse fehlen und dann direkt mit einer grafischen Oberfläche zu arbeiten macht IMHO nicht wirklich viel Sinn. :bahnhof:
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Peterw73 Hilfe bei Java gesucht Allgemeine Java-Themen 3
O Best Practice Hilfe bei Algorithmus gesucht Allgemeine Java-Themen 10
B Dringend Hilfe gesucht für Struktogramm Allgemeine Java-Themen 11
M Schnell kleine Hilfe gesucht! Allgemeine Java-Themen 3
W Hilfe bei Methode Allgemeine Java-Themen 14
M Javascript Hilfe bei ToDoList? Allgemeine Java-Themen 1
A Java Programm erstellen hilfe Allgemeine Java-Themen 10
Momo16 Brauche Hilfe - Java Projekt kann nicht erstellt werden Allgemeine Java-Themen 12
T Hilfe bei negation von suchabfrage Allgemeine Java-Themen 2
N Hilfe bei RegEx benötigt Allgemeine Java-Themen 3
A Hilfe beim Verständnis Allgemeine Java-Themen 16
V Hilfe mit Java Code Allgemeine Java-Themen 4
T Hilfe bei Programm. IDE: Eclipse mit EV3-Plugin, lejos Allgemeine Java-Themen 8
alinakeineAhnungv Hilfe bei einem Straßenbahn-Projekt von mir Allgemeine Java-Themen 18
Aboya Kugel mit Hilfe von Dreiecken rekursiv zeichnen Allgemeine Java-Themen 2
K Anzeigemöglichkeit von Bildern in JavaFX mit Hilfe von MongoDB GridFS Allgemeine Java-Themen 0
A Preisberechnung, Hilfe Allgemeine Java-Themen 4
M Bräuchte Hilfe bei der Aufgabe Allgemeine Java-Themen 1
s_1895 Hilfe bei Java Tic Tac Toe Allgemeine Java-Themen 8
W Suche Ursache für NPE - woher kommt sie? (Hilfe beim Debugging) Allgemeine Java-Themen 19
J Hilfe, Jar Datei kann nicht ausgeführt werden Allgemeine Java-Themen 2
M Hilfe bei einer Java Programmieraufgabe! Ab morgen Montag um 08:00 Uhr Allgemeine Java-Themen 5
B Bei Email: FW / AW... - Hilfe bei String suche Allgemeine Java-Themen 21
U Erste Schritte Hilfe bei simplem Glücsspiel in Java Allgemeine Java-Themen 4
K OOP Suche Hilfe + Erklärung für eine Hausaufgabe Allgemeine Java-Themen 1
K Objektorientierung, hilfe Allgemeine Java-Themen 9
V Bilder bei bestimmten Zeiten wechseln, bitte um Hilfe Allgemeine Java-Themen 5
D Hilfe bei Informatik Hausaufgaben Allgemeine Java-Themen 30
RalleYTN Brauche Hilfe beim Run-Length-Decoding Allgemeine Java-Themen 9
S Hilfe bei dem Auslesen einer YAML Datei Allgemeine Java-Themen 8
F NetBeans Hilfe!!! Allgemeine Java-Themen 23
H Schiffe versenken JButton Schiffe mit GUI verbinden Hilfe! Allgemeine Java-Themen 2
M Bitte Hilfe mit REGEX (Negieren) Allgemeine Java-Themen 4
E HILFE !! Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/io/FileUtils Allgemeine Java-Themen 4
S GetMethode erstellen mit Hilfe von Parametern Allgemeine Java-Themen 9
J Java "Bank Programm" Brauche eure Hilfe Allgemeine Java-Themen 3
B Hilfe bei Übungsblätter Allgemeine Java-Themen 9
O Erste Schritte Benzinverbrauch Code Hilfe Allgemeine Java-Themen 3
C Hilfe Bei Vegas Slide Allgemeine Java-Themen 0
B Hilfe!! spiel um Funktion des Selektierens erweitern (mit ASCII-Tabelle) Allgemeine Java-Themen 3
Ice4P4rty Hilfe Bei Promillerechner Allgemeine Java-Themen 9
C Atfx mit Hilfe von OpenAtfx auslesen Allgemeine Java-Themen 1
perlenfischer1984 Hilfe bei Design (Pattern) Allgemeine Java-Themen 5
G Hilfe bei Projektarbeit Allgemeine Java-Themen 5
GenerationLost Input/Output Custom Serialization - hilfe bei Realisierung Allgemeine Java-Themen 8
J Hilfe!!! Ausbildung Allgemeine Java-Themen 14
H Hilfe bei Erstellung eines Hilfe Fenster bei Tastendruck (F1 bei Win98) Allgemeine Java-Themen 5
B Swing Hilfe bei Abfrage von Benutzernamen und Passwort Allgemeine Java-Themen 2
T Hilfe bei Code Allgemeine Java-Themen 3
U Swing Hilfe beim Quellcode für ein Codierungs-/Decodierungsprogramm Allgemeine Java-Themen 9
S Hilfe bei Gui Allgemeine Java-Themen 3
GRAZZ0R Hilfe zum Spiel Mensch ärger dich nicht Allgemeine Java-Themen 1
C Hilfe bei den Ausgaben Allgemeine Java-Themen 4
K Hilfe bei GUI für Pizza-Service Allgemeine Java-Themen 11
J Hilfe bei Datumsberechnung aus Textfeld Allgemeine Java-Themen 10
I Bitte Drngend hilfe Allgemeine Java-Themen 2
C Hilfe bei NoClassDefFoundError Allgemeine Java-Themen 14
C Hilfe bei einer Fehler meldung Allgemeine Java-Themen 3
I Methoden Schnelle Hilfe benötigt - Kleines Video/Slideshow aus mehreren Bildern erstellen Allgemeine Java-Themen 3
C Hilfe bei einer Point Ausgabe Allgemeine Java-Themen 7
S Probleme mit meinem MacBook Pro DRINGEND HILFE erbeten! Allgemeine Java-Themen 17
N Erste Schritte [HILFE] effizienter,leistungsfähigermbackground Pixelbot Allgemeine Java-Themen 5
X ArrayList will nicht so wie ich will. Hilfe Allgemeine Java-Themen 8
C Hilfe bei einer Fehlermeldung Allgemeine Java-Themen 5
C Hilfe bei MalformedURLException Allgemeine Java-Themen 7
D Baum zeichnen hilfe Allgemeine Java-Themen 4
M Hilfe bei parseInt Allgemeine Java-Themen 4
F Compiler-Fehler Hilfe bei Startup error Allgemeine Java-Themen 3
D Mit Hilfe von Java aus Excel-Sheet Zellen in neues Excel Dokument kopieren Allgemeine Java-Themen 3
F Socket NullPointerException Bitte um hilfe! Allgemeine Java-Themen 12
M Input/Output Java + OCR ? Erfahrungen und bitte um Hilfe Allgemeine Java-Themen 12
M Brauche Hilfe bei Quellcodeverständnis Allgemeine Java-Themen 4
B Zahlen ausgeben hilfe! Allgemeine Java-Themen 8
S Java USB dringend Hilfe! Allgemeine Java-Themen 6
X Hilfe bei Programm Allgemeine Java-Themen 5
zer0zer0 Best Practice apache common cli - optionen für hilfe ausblenden Allgemeine Java-Themen 5
F Bitte um Hilfe! Allgemeine Java-Themen 5
S Hilfe bei geeignetem Pattern (Decorierer) Allgemeine Java-Themen 2
D Brauche Hilfe bei Rechnung (Exponentiation) Allgemeine Java-Themen 12
F Brauche Hilfe bei Java Allgemeine Java-Themen 6
S Hilfe bei simplem Programm Allgemeine Java-Themen 3
J Ein blutiger Anfänger braucht Hilfe Allgemeine Java-Themen 7
B Hilfe bei JUnit Test Allgemeine Java-Themen 1
A ALTER TABLE mit Hilfe von RegEx zerlegen, splitten Allgemeine Java-Themen 5
C Brauche Hilfe mit Modulo Strategie Allgemeine Java-Themen 2
S Brauche Hilfe: Prüfungsaufgabe Java Allgemeine Java-Themen 8
J Probleme bei kompilieren ... Bitte um Hilfe Allgemeine Java-Themen 2
G java.exe in System 32. Hilfe!!! Allgemeine Java-Themen 8
M google plus java api - Anfänger sucht Hilfe Allgemeine Java-Themen 7
M Hilfe mit JOptionPane Allgemeine Java-Themen 2
I Hilfe: Klasse Vieleck Allgemeine Java-Themen 5
I javax.sound.sampled.* - Hilfe zu den Controls Allgemeine Java-Themen 8
C Hilfe bei Adressbuch-Programmierung, wie am Besten mit JList implementieren Allgemeine Java-Themen 2
S Hilfe bei der Cosinusapproximation Allgemeine Java-Themen 10
K Arraylist Hilfe Allgemeine Java-Themen 13
K Hilfe Felder Allgemeine Java-Themen 7
T Hilfe im Lizenz-Dschungel Allgemeine Java-Themen 11
S brauche Hilfe für ssh connection in java Allgemeine Java-Themen 6
W sql Query abspeichern selber variabele hilfe...? Allgemeine Java-Themen 16
N Hilfe bei Projekt Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben