Java: Wie kann ich einen Wert aus einer Klasse mit einem Wert einer anderen Klasse in einer weiteren Klasse verarbeiten? Wie kann ich das Programm exportieren?

Hallo, ich habe 2 Probleme und zwar möchte ich ein einfaches Programm schreiben, bei dem ich einen Wert von einer Klasse mit einem Wert von einer anderen Klasse in einer weiteren Klasse berechne und ausgebe. Zusätzlich will ich dieses Programm auch außerhalb von BlueJ benutzen können.

Zurzeit bin ich soweit:

// Könnte aber noch Fehler in der Schreibweise haben
public class Schiff {
  public int masten;
  public int segel;
  public int kanonen;
  public int rumpf;
  public int geschwindigkeit;
  public int matrosen;
  public int wendigkeit;
  public int robustheit;

  public Schiff() {
  }
}

public class Linienschiff extends Schiff {
  public int angriffsstärke;

  public Linienschiff() {
  }

  public void linienschifF() {
    masten = 3;
    segel = 12;
    kanonen = 50;
    rumpf = 9700;
    geschwindigkeit = 15;
    matrosen = 200;
    wendigkeit = 15;
    robustheit = 25;
    angriffsstärke = ((matrosen / kanonen) + (wendigkeit + geschwindigkeit)) * 10;
    System.out.println("Linienschiff");
    System.out.println("Angriffsstärke = " + angriffsstärke);
    System.out.println("Rumpf = " + rumpf);
  }
}

/* Die Klassen Linienschiff und Schlachtschiff sind abgesehen von den Werten gleich aufgebaut */
public class Schiffe_versenken {
  public Schiffe_versenken() {
  }

  /* zuerst habe ich die beiden Schiffsklassen mit der Klasse Schiffe_versenken verbunden */
  public static void mainSchiffeAnzeigen(String[] args) {
    Schlachtschiff sls = new Schlachtschiff();
    Linienschiff lis = new Linienschiff();

    System.out.println(" ");
    sls.schlachtschifF();
    System.out.println(" ");
    lis.linienschifF();
  }

  public void schiffeVersenken(int differenz) {
    /* Rumpf vom Linienschiff (9700) - Angriffsstärke vom Schlachtschiff (420)
       wie genau mache ich das? */
    System.out.println("Linienschiff: Rumpf = " + differenz);
  }
}

Computer Schule Java BlueJ Informatik java programmieren
1 Antwort
Wie soll ich das programmieren?

Ich nutze Bluej bzw. GLOOP und möchte ein Programm mit zwei Schneemännern erstellen, wobei sich beide Schneemänner um einen Punkt drehen.

Habe es wie folgt gemacht, jedoch ist ein Fehler aufgetreten:

Schneemannszene:

import GLOOP.;

public class Schneemannszene 

{

  GLKamera meineKamera;

  GLLicht meinLicht;  

  GLHimmel meinHimmel;

  GLBoden meinBoden;

  GLTastatur meineTastatur;

  Schneemann schneemann0,schneemann1;

  public Schneemannszene()

  {

    meineKamera = new GLEntwicklerkamera();

    meineKamera.setzePosition(0,500,1000);

    meinLicht  = new GLLicht();

    meinBoden  = new GLBoden("Schnee.jpg");

    meinHimmel = new GLHimmel("Himmel.jpg");

    meineTastatur = new GLTastatur();

  

    schneemann0 = new Schneemann(0,0);

    schneemann1 = new Schneemann(-200,0);

     

    while(meineTastatur.istGedrueckt('f'))

    {

     schneemann0.drehe(0,1,0,0,0); <- Hier wird der Fehler angezeigt

     schneemann1.drehe(0,1,0,0,0); <- Hier wird der Fehler angezeigt

     Sys.warte(5);

    }     

  }

}

Schneemann:

import GLOOP.;

public class Schneemann

{

  GLKugel beine,bauch,kopf;

  GLKugel auge1,auge2;

  GLKegelstumpf nase;

  public Schneemann(double pX, double pZ)

  {    

    beine = new GLKugel (pX, 25,pZ,75,"Schnee.jpg");

    bauch = new GLKugel (pX,130,pZ,55,"Schnee.jpg");

    kopf  = new GLKugel (pX,200,pZ,35,"Schnee.jpg"); 

    auge1 = new GLKugel(0,200,35,5);

    auge1.setzeFarbe(1,0,0); 

    auge1.drehe(-15,0,0,0,200,0);

    auge1.drehe(0,-15,0,0,200,0);

    auge1.verschiebe(pX,0,pZ);

    auge2 = new GLKugel(0,200,35, 5);

    auge2.setzeFarbe(1,0,0); 

    auge2.drehe(-15,0,0,0,200,0);

    auge2.drehe( 0,15,0,0,200,0);

    auge2.verschiebe(pX,0,pZ);

    nase = new GLKegelstumpf(0,200,50,0,5,30);

    nase.setzeFarbe(1,0.5,0);

    nase.verschiebe(pX,0,pZ);

  }

}

Der Fehler lautet bei beiden Markierten stellen: cannot find symbol - method setzeDrehung(int,int,int,int,int,int)

Wie soll ich das anders programmieren oder wie behebe ich diesen Fehler?

Computer Schule programmieren Java BlueJ GLOOP
3 Antworten
Windows 7, Java, max. verschachtelte Ordner?

Es ist wie folgt gelaufen. Zurzeit arbeite ich mit BlueJ, weil es das Programm ist, mit dem wir in der Schule lernen, und als ich ein Testprogramm speichern wollte gab ich den Pfad an, C:\User\\Desktop\projekt 1. Und hier beginnt das Drama. Als ich den Ordner öffne ist gerade mal eine Datei namens: Package.blueJ vorhanden und ein ordner namens: projekt 1 bis zum letzten ordner wo nur die datei drinn ist. Draufhin habe ich versucht zu löschen, aber wer hätte es gedachte, der Datei pfad ist zu lang. Also letzten Ordner auf "0" umbenannt, ich wunder mich, das er immernoch sagt das der Pfad zu lang ist, ich gehe in 0 und auf einmal ist da ein ordner. Das spiel hab ich bis zuletzt mitgemacht, hab jetzt den dateipfad: C:\Users**\Desktop\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\1\1\1\1\1\0\0\1\1\1\0 und aus allen außer dem letzten Ordner die package dateien gelöscht.Die Unterordnernamen sind mitunter blau gekennzeichnet. Ich bin langsam echt hart am verzweifeln. Übers CMD lässt sich nichts machen, weil der Dateipfad zu lang ist, genauso über den normalen Windows Explorer und im Internet sind nur offene beiträge bei denen keine Antwort funktioniert hat (also im CMD del, ren, move usw schon versucht). Hat jemand ne Ahnung, was man tun kann um den Ordner ganz zu löschen? Und warum lässt Windows zu, das man den Dateipfad zu lange machen kann, wenn er damit nicht klar kommt? Danke im Vorraus.

programmieren Java Ordner Programmierung BlueJ Computerfehler verschachtelt
2 Antworten
Wie kann man den Betrag speichern? (BlueJ)

Ich habe versucht einen Süßigkeitenautomaten auf BlueJ zu Programmieren, aber das klappt noch nicht so ganz... es fehlt auch noch das, was dann rauskommt, also ein Twix oder so. Das mach ich gleich... und außerdem hab ich noch nicht ganz verstanden, wie man das so machen kann, dass der eingeworfene Betrag gespeichert wird.

import java.util.* ;import java.math.* ;import java.lang.Math;public class Süßigkeitenautomat2 { private final double preisTwix = 1.20; private final double preisMars = 1.20; private final double preisCola = 2.00; private final double preisWasser = 2.00; private double preis; private double zuBezahlenderBetrag; private double bezahlterBetrag; private Scanner einwurf; private boolean laeuft; Süßigkeitenautomat2() { einwurf = new Scanner( System.in ); laeuft = true; } public void Menue() { do { preis = süßesWaehlen(); geldeinwerfen(); //süßesRauslassen(); System.out.println("Möchten Sie noch was kaufen?"); int eingabe = einwurf.nextInt(); } while( laeuft ); } private double süßesWaehlen() { System.out.printf(" Willkommen beim Süßigkeitenautomat! Bitte wählen Sie die gewünschte Süßigkeit aus. \n"); System.out.printf("1. Twix "+preisTwix+"\n" ); System.out.printf("2. Mars " + preisMars + "\n"); System.out.printf("3. Cola " + preisCola + "\n"); System.out.printf("4. Wasser " + preisWasser +"\n" ); int eingabe = einwurf.nextInt(); if (eingabe == 1) { return preisTwix; System.out.println("Werfen Sie bitte " + preisTwix + " € ein"); } else if (eingabe == 2) { return preisMars; System.out.println("Werfen Sie bitte " + preisMars + " € ein"); } else if (eingabe == 3) { return preisCola; System.out.println("Werfen Sie bitte " + preisCola + " € ein"); } else { return preisWasser; System.out.println("Werfen Sie bitte " + preisWasser + " € ein"); } } private void geldeinwerfen() { double geld; do { System.out.printf("Bitte werfen Sie ein: %.2f", zuBezahlenderBetrag); System.out.println("Der Automat wechselt nicht."); geld = einwurf.nextDouble(); bezahlterBetrag = bezahlterBetrag + geld; gibBisherBezahltenBetrag(); } while (geld != 0.0); süßesRauslassen; } private void gibBisherBezahltenBetrag(){ System.out.println("Sie haben bis jetzt " + bezahlterBetrag + " € eingeworfen. "); } // private void ticketDrucken() { //int tickets; //int z = 0; // String ticket = "#####################\n# Tagesticket #\n# %.2f€ #\n#####################\n\n"; //tickets = (int) (bezahlterBetrag / preis); // do { // System.out.printf(ticket,preis); // z += 1; //} while (z != tickets); //System.out.println("Bitte entnehmen Sie ihre Tickets aus der Ausgabe. Gute Fahrt!\n"); // } public static void main(String[] args) { Süßigkeitenautomat automat = new Süßigkeitenautomat(); automat.menue(); }}

BlueJ Informatik
1 Antwort
Wie speichere ich bei BlueJ das Fenster?

package taschenrechner;

import basis.*;

/** * TaschenRechner rechnet mit den vier Grundrechenarten ( + - * / ).
* * @author Daniel und Zaki * @version 1 */ public class TaschenRechner {
private Fenster fenster; private Maus maus;

private ZahlenFeld feld1, feld2, feld3; private BeschriftungsFeld rechnung, ergebnis, operatoren;

private double z1, z2, z3; private char c;

private Knopf addieren, subtrahieren, multiplizieren, dividieren; private Knopf ende, speichern;

/** * Konstruktor für Objekte der Klasse TaschenRechner. */ public TaschenRechner() { fenster=new Fenster ("Rechner", 410, 600);
maus=new Maus();

    rechnung=new BeschriftungsFeld ("Rechnung", 20, 60, 60, 30);
    feld1=new ZahlenFeld(20, 100, 350, 50);
    feld2=new ZahlenFeld(20, 160, 350, 50);
            
    ergebnis=new BeschriftungsFeld ("Ergebnis", 20, 260, 50, 30);
    feld3=new ZahlenFeld(20, 300, 350, 65);
    
    operatoren=new BeschriftungsFeld ("Operatoren", 20, 450, 750, 30);
    addieren=new Knopf("+", 20,500,75,60);
    subtrahieren=new Knopf("-",100,500,75, 60);
    multiplizieren=new Knopf ("*", 180, 500,75,60);
    dividieren=new Knopf ("/", 260, 500, 75, 60); 
    
    ende=new Knopf ("Ende", 333, 10, 70, 70);
    speichern=new Knopf ("Speichern", 250, 10, 70, 70);
}


/**
 * Methode kann Rechnen.
 */
private void fuehreAus() {
    while (!maus.wurdeGeklickt()) {
    Hilfe.kurzePause();              
    z1=feld1.zahl();
    z2=feld2.zahl();                     
    Hilfe.kurzePause();
           
    if (addieren.wurdeGedrueckt()) {
            z3=z1+z2;
            feld3.setzeZahl(z3);   
            Hilfe.kurzePause();                
            System.out.println("Addieren wurde gedrückt!");
            System.out.println("Das Ergebnis der Addition wird angezeigt.");                
        }                      
    if (subtrahieren.wurdeGedrueckt()) {
            z3=z1-z2;
            feld3.setzeZahl(z3);                
            System.out.println("Subtrahieren wurde gedrückt!");
            System.out.println("Das Ergebnis der Subtraktion wird angezeigt.");
        }
    if (multiplizieren.wurdeGedrueckt()) {
            z3=z1*z2;
            feld3.setzeZahl(z3);                
            System.out.println("Multiplizieren wurde gedrückt!");
            System.out.println("Das Ergebnis der Multiplikation wird angezeigt.");
        } 
    if (dividieren.wurdeGedrueckt()) {
            z3=z1/z2;
            feld3.setzeZahl(z3);                            
            System.out.println("Dividieren wurde gedrückt!");
            System.out.println(
Computer Schule programmieren Java BlueJ Gymnasium Informatik Oberstufe
3 Antworten
BlueJ Programmierfehler NaN?

Aufgabe: BMI Rechner programmieren. Nun wird mir allerdings als Idealgewicht in der Anzeige von Waage() immer NaN als Lösung gegeben. Ist irgendwo ein Fehler in den Gleichungen? Syntaxfehler sind nicht drin und ich hab echt keinen Plan mehr.

Danke schon mal an die lieben Informatik Freaks, die sich den Quelltext überhaupt durchlesen ^^ MfG der, die, das Rebel of Berlin

public class waage {

private double gewicht;
private double groesse;
private double idealgewicht;
private double groesseZumQuadrat;

public waage()
{
   gewicht = 0;
   groesse = 0;
   idealgewicht = 0;
   groesseZumQuadrat = 0;
}

public void anzeigen()
{
    System.out.println("gewicht: " + gewicht + "kg");
    System.out.println("groesse: " + groesse + "m");
    System.out.println("idealgewicht: " + idealgewicht + "kg");
    
    double differenz = gewicht - idealgewicht;
    System.out.println("differenz: " + differenz + "kg");
    
    if(differenz > 5)
    {
        System.out.println("Du wiegst " + differenz + " zu viel - Du bist ein kleiner Fettsack - mach' mehr Sport und iss' gesund, diggah!");
    }
    else if(differenz < 5)
    {
        System.out.println("Du wiegst " + differenz + " zu wenig - Bisschen dürr, wa? Ein Burger, 'ne Pizza oder ein Besuch bei KFC schadet Dir nicht!");
    }
    else
    {
        System.out.println("Das passt ganz gut so! Dein Lifestyle ist sicher krass!");
    }
}

public void wiegen (double gewicht)
{
    this.gewicht = gewicht;
}
public void messen (double groesse)
{
    this.groesse = groesse;
    idealgewicht();
}
private void idealgewicht()
{
    idealgewicht = gewicht / groesseZumQuadrat;
}
private void groesseZumQuadrat()
{
    groesseZumQuadrat = groesse * groesse;
}

}

Mathematik Rechnung programmieren BMI rechnen Java Programmierung BlueJ Informatik
6 Antworten

Meistgelesene Fragen zum Thema BlueJ

Java Methode einer anderen klasse bentuzen

2 Antworten

Taschenrechner in Java programmieren, Rechenzeichen

5 Antworten

Wartenbefehl bei BlueJ

2 Antworten

Problem mit BlueJ und der suM Kern Bilbliothek

2 Antworten

Objekt bewegen lassen (bluej)

2 Antworten

BlueJ- neue Farben hinzufügen?

2 Antworten

Wie kann man mit java in bluej tasten abfragen?

3 Antworten

BlueJ Math.random()

3 Antworten

Java (BlueJ) - Würfel programmieren, Zufallsgenerator?

3 Antworten

BlueJ - Neue und gute Antworten

Beliebte Themenkombinationen