Ich empfehle das Buch
"Grundkurs Programmieren in Java" (Hanser Verlag)
Die "Java Insel" würd ich nur als (sehr gutes) Nachschlagewerk empfehlen.

Fang auf keinen Fall (!!!) nur mit Youtube Videos an (kann man auf jeden Fall als Ergänzung verwenden), die lassen leider meist wichtige Grundlagen aus.

...zur Antwort
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;


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


public class SuperButton extends JButton implements ActionListener {
	private int counter = 0;


	public SuperButton() {
		super("You can count on me!!");
		addActionListener(this);
	}


	public int getCounter() {
		return this.counter;
	}


	@Override
	public void actionPerformed(ActionEvent e) {
		this.counter++;
		System.out.println("counter: " + this.counter);
	}


	public static void main(String[] args) {
		JFrame frame = new JFrame();
		frame.setTitle("JButton Beispiel");
		JPanel panel = new JPanel();
		frame.add(panel);


		SuperButton button = new SuperButton();
		panel.add(button);


		frame.pack();
		frame.setLocationRelativeTo(null);
		frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
		frame.setVisible(true);
	}
}
...zur Antwort
Java While-Schleife hört nicht auf?

Hallo. Ich versuche auf Java ein Spiel zu programmieren und meine Schleife hört einfach nicht auf zu laufen also das Spiel hängt sich quasi auf und macht nichts mehr, ihr wisst was ich meine :D
Wäre super lieb wenn mir jemand helfen könnte.

Hier ist mein Code:

boolean nochmal;

   nochmal = true;

   if (läuft) {

     while (nochmal) {

       if (tf_frage.getText().equals("14*6") && tf_eingabe.getText().equals("84")) {

         tf_eingabe.setBackground(Color.green);

         nochmal = false;

         JOptionPane.showMessageDialog(null, "Ergebnis", "Ihre Antwort war richtig!", JOptionPane.INFORMATION_MESSAGE);

       } // end of if

       else if (tf_frage.getText().equals("13*8") && tf_eingabe.getText().equals("104")){

         tf_eingabe.setBackground(Color.green);

         nochmal = false;

         JOptionPane.showMessageDialog(null, "Ergebnis", "Ihre Antwort war richtig!", JOptionPane.INFORMATION_MESSAGE);

       } // end of if-else

       else if(tf_frage.getText().equals("11*12") && tf_eingabe.getText().equals("132")) {

         tf_eingabe.setBackground(Color.green);

         nochmal = false;

         JOptionPane.showMessageDialog(null, "Ergebnis", "Ihre Antwort war richtig!", JOptionPane.INFORMATION_MESSAGE);

       } // end of if-else

       else if (tf_frage.getText().equals("19*4") && tf_eingabe.getText().equals("76")) {

         tf_eingabe.setBackground(Color.green);

         nochmal = false;

         JOptionPane.showMessageDialog(null, "Ergebnis", "Ihre Antwort war richtig!", JOptionPane.INFORMATION_MESSAGE);

       } // end of if-else

       else if (tf_frage.getText().equals("9*16") && tf_eingabe.getText().equals("144")){

         tf_eingabe.setBackground(Color.green);

         nochmal = false;

         JOptionPane.showMessageDialog(null, "Ergebnis", "Ihre Antwort war richtig!", JOptionPane.INFORMATION_MESSAGE);

       } // end of if-else

       else if (tf_frage.getText().equals("12*17") && tf_eingabe.getText().equals("204")) {

         tf_eingabe.setBackground(Color.green);

         nochmal = false;

         JOptionPane.showMessageDialog(null, "Ergebnis", "Ihre Antwort war richtig!", JOptionPane.INFORMATION_MESSAGE);

       } // end of if-else

       else if (tf_frage.getText().equals("16*7") && tf_eingabe.getText().equals("112")) {

         tf_eingabe.setBackground(Color.green);

         nochmal = false;

         JOptionPane.showMessageDialog(null, "Ergebnis", "Ihre Antwort war richtig!", JOptionPane.INFORMATION_MESSAGE);

       } // end of if-else

       else {

         tf_eingabe.setBackground(Color.red);

       } // end of if-else

     } // end of while

   } // end of if

...zur Frage

ohne mir das jetzt genauer anzuschauen, ein paar Anmerkungen, ein solches Konstrukt wie du da geschrieben hast, ist .... nicht schön ;)

ich hab dir mal kurz zwei methoden geschrieben mit denen du das ganze schonmal um einiges schöner und kürzer machen kannst, vermeide solche if-else Bedingungen mit so vielen "else if's"

versuche auch deinen Code in Methoden aufzuteilen, als grobe Richtlinie pro Methode nicht mehr als 20, vielleicht 30 Zeilen (manchmal ist es besser wenn eine Methode mehr Zeilen hat aber mehr wie 100 ist meistens nicht wirklich sinnvoll)

 	private void checkQuestionAndSetColor(JTextField answerField,String correctAnswer) {
		boolean wasAnsweredCorrectly = checkIfQuestionWasAnsweredCorrect(answerField, correctAnswer);
		
		if(wasAnsweredCorrectly) {
			answerField.setBackground(Color.GREEN);
		}else {
			answerField.setBackground(Color.RED);
		}
	}
	
	private boolean checkIfQuestionWasAnsweredCorrect(JTextField answerField,String correctAnswer) {
		return answerField.getText().trim().equals(correctAnswer);
	}

...zur Antwort

die Variante mit der Schleife ist nicht gerade gut, besser du verwendet einen java.util.Timer,

ich hab dir eine kleine Klasse geschrieben, bei Fragen einfach melden

import java.util.Timer;
import java.util.TimerTask;

public class Main {

	private int someVariable = 0;

	public static void main(String[] args) {
		Main main = new Main();
		main.test();
	}

	private void test() {

		// first variant (runnable as anonymous class)
		Runnable r = new Runnable() {
			@Override
			public void run() {
				someVariable++;
				System.out.println("increased someVariable to: " + someVariable);
			}
		};
		executeInInterval(r, 3000, 500, 4);

		
		// second (shortest) variant (runnable as lambda)
		executeInIntervalForever(() -> System.out.println("i run forever and do nothing"), 1000, 2000);

		
		// second variant
		TimerTask runforevertask = executeInIntervalForever(() -> {
			someVariable += 10;
			System.out.println(
					"i run forever and do nothing in curly braces, increased someVariable to: " + someVariable);
		}, 4000, 500);

		runforevertask.cancel();
	}

	private TimerTask executeInIntervalForever(Runnable runnable, int delayBeforeFirstExecution, int intervalDelay) {
		TimerTask task = new TimerTask() {
			@Override
			public void run() {
				System.out.println("my schedule time is " + scheduledExecutionTime());

				runnable.run();
			}

		};
		new Timer().scheduleAtFixedRate(task, delayBeforeFirstExecution, intervalDelay);
		return task;
	}

	private TimerTask executeInInterval(Runnable runnable, int delayBeforeFirstExecution, int intervalDelay,
			int repeats) {
		TimerTask task = new TimerTask() {
			int timesrun = 0;

			@Override
			public void run() {
				if (timesrun >= repeats) {
					this.cancel();
					return;
				}

				runnable.run();

				timesrun++;
			}

			@Override
			public boolean cancel() {
				System.out.println("damn, you cancelled me");
				return super.cancel();
			}
		};
		new Timer().scheduleAtFixedRate(task, delayBeforeFirstExecution, intervalDelay);
		return task;
	}

}


...zur Antwort
im Christentum verbietet dass das 2. Gebot auch wenn es sich in allgemein bekannter übersetzung nicht darauf bezieht ( du sollst den Namen Gottes nicht verunehren)
Der Originalwortlaut arbeitet aber „Du sollst dir kein Gottesbild machen und keine Darstellung von irgendetwas am Himmel droben, auf der Erde unten oder im Wasser unter der Erde.“
...zur Antwort

Unter 3,68 KW / 5 PS benötigt man keinen Führerschein. Aber ab welchem Alter?

Die Altersgrenze ist unterschiedlich geregelt: - Auf Seeschifffahrtsstraßen gibt es keine genaue Regelung. Der Führer muss "geeignet sein". Die Wasserschutzpolizei Bremen betrachtet jemanden ab einem Alter von 14 Jahren als geeignet. - Auf Binnenschifffahrtsstraßen muss der Führer/Rudergänger, wie in der BinStrO vorgeschrieben, 16 Jahre sein.

  • Auf freien Gewässern, z.B. Seen, die Aller, im Rahmen einer Ausbildung des DMYV, etc., muss man den Besitzer fragen, was er für geeignet hält. Vor Gericht gelten 12 Jahre als geeignet.
  • Versicherungen versichern Schäden im Binnenbereich ab 12 Jahren, im Seebereich ab 14 Jahren. Das gilt aber nicht für den Tender einer Yacht, sondern nur, wenn das Beiboot als "Spielboot" extra versichert ist.

Tender sind für die Crew und nur in Sichtweite der Yacht versichert.

Im Ausland muss man sich informieren. In Kroatien z.B. ist das Fahren mit dem Beiboot mit jedem Motor führerscheinpflichtig.

quelle:http://www.pa-bremen.de/faq.php#14

...zur Antwort

soweit ich weiß braucht man für jedes boot ab 5ps ein kennzeichen

...zur Antwort

wir hatten vor ein paar Jahren ein paar Papageien die haben wir in einer Voliere die war 2,5m breit und ca 4m lang ..... es waren relativ kleine Papageie... also es kommt drauf an willst du so 40 cm Riesen oder 15 cm kleine (unsre warn mit schwanzfedern 20cm) .... auf jeden Fall gilt um so mehr Platz umso besser und beschäftige dich täglich minimum 30 min mit ihnen und die Voliere/Käfig sollte auch immer wieder leicht umgebaut werden damit die sich da drinnen nicht langweilen

...zur Antwort

ganz einfach, auf das achtfache... die erklärung: Die Formeln lautet wie du hoffentlich weißt V=a³

a ist die Kantenlänge

a=sagen wir mal 5cm ;


V= a x a x a

in Zahlen V= 5 x 5 x 5 =125cm³


V(doppelte Kantenlänge)= 2a x 2a x 2a=8a³

in Zahlen V= 2x5 x 2x5 x 2x5= 1000³


1000:125=8


PS.. bin kein Mathemathikprofessor aber mit ein wenig Logik geht das schon ... wenn man sich einen Würfel einfach vorstellt oder vor sich hinlegt

...zur Antwort
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.