BlueJ/ Java/ GLOOP Hilfe?

Hallo,

ich muss für die Schule ein Würfelspiel programmieren dazu habe ich mit BlueJ und GLOOP 2 Würfel die mit jeweils 6 Quadern zusammengebaut sind modelliert.

Meine Frage ist jetzt: Wie kann ich wenn eine bestimmte Taste gedrückt wird, die Objekte auf eine zufällige Seite drehen (wie beim würfeln) sodass die 6 Quader immer noch ein Würfel ergeben?

Den Code den ich bisher habe:

import GLOOP.*;

class Würfelspiel{
    GLTastatur tastatur;
    GLSchwenkkamera cam;
    GLLicht spot , spotoben;
    
    GLQuader links, rechts, vorne, hinten, oben, unten;
    GLQuader left, right, front, back, up, down;
    
    GLQuader tisch;
    GLQuader eins, zwei, drei, vier;
    
    Würfelspiel(){
        cam = new GLSchwenkkamera(500, 500);
        spot = new GLLicht();
        spotoben = new GLLicht(0,0,-500);
        tastatur = new GLTastatur();
    
        tisch = new GLQuader(0,0,0,900,10,900);
        
        eins = new GLQuader(430,-250,430,40,500,40);
        zwei = new GLQuader(-430,-250,430,40,500,40);
        drei = new GLQuader(-430,-250,-430,40,500,40);
        vier = new GLQuader(430,-250,-430,40,500,40);
        
        links = new GLQuader(-50, 50, 0, 10, 100, 100);
        vorne = new GLQuader(0, 50, 50, 100, 100, 10);
        rechts = new GLQuader(50, 50, 0, 10, 100, 100);
        hinten = new GLQuader(0, 50, -50, 100, 100, 10);
        oben = new GLQuader(0, 100, 0, 100, 10, 100);
        unten = new GLQuader(0, 0, 0, 100, 10, 100);
        
        left = new GLQuader(150, 50, 150, 10, 100, 100);
        front = new GLQuader(200, 50, 200, 100, 100, 10);
        right = new GLQuader(250, 50, 150, 10, 100, 100);
        back = new GLQuader(200, 50, 100, 100, 100, 10);
        up = new GLQuader(200, 100, 150, 100, 10, 100);
        down = new GLQuader(200, 0, 150, 100, 10, 100);
        
        
        links.setzeTextur("drei.jpg");
        vorne.setzeTextur("fünf.jpg");
        rechts.setzeTextur("vier.png");
        hinten.setzeTextur("zwei.jpg");
        oben.setzeTextur("sechs.jpg");
        unten.setzeTextur("eins.png");
        
        left.setzeTextur("drei.jpg");
        front.setzeTextur("fünf.jpg");
        right.setzeTextur("vier.png");
        back.setzeTextur("zwei.jpg");
        up.setzeTextur("sechs.jpg");
        down.setzeTextur("eins.png");
        
        if(tastatur.istGedrueckt('f')){
            
        }
    }
}

Computer, Schule, programmieren, Java, Würfelspiel, BlueJ, Informatik, GLOOP
Python in Java übersetzen?

Hi, ich brauche eure Hilfe.

Ich habe für den Informatikunterricht in der Schule mit Python ein Programm geschrieben welches die Kosten für Pakete ausrechnet.

Nun ist mir eingefallen, dass ich in der Schule keine Python-Konsole habe, um das Programm laufen zu lassen. Wir haben nur BlueJ, was meines Wissens eine Java-Konsole ist.

Ich kann leider kein Java und im Internet bin ich auch auf keine Übersetzer gestoßen.

Hat jemand eine Idee wie ich diesen Code:

import time

a = "Die Kosten für ihr Paket betragen "
print("Paketrechner startet...")
time.sleep(1)
print("Paketrechner erfolgreich gestartet!")
print(" \n Bitte gib folgende Parameter an und bestätige mit Enter: \n")
print("Länge des Pakets:")
l = int(input())

if l > 175:
  print("Dein Paket ist zu lang!")

print("Breite des Pakets in cm:")
b = int(input())
print("Höhe des Pakets in cm:")
h = int(input())
p = 2(h + b) + l

if p > 300:
  print("Das Packmaß ist ungültig. Es beträgt über 300cm oder es wurden falsche Werte eingegeben. Die Länge des Pakets darf maximal 170 cm betragen!")

if p <= 300:
  print("Das Packmaß beträgt")
  print(p)
  print("Geben Sie nun das Gewicht des Pakets in kg ein.")
  g = int(input())

  if g > 31:
    print("Dieser Paketrechner unterstützt nur Pakete bis zu einem Gewicht von 31 kg!")
  elif g < 2:
    print(a + "3,80€")
  elif g < 4:
    print(a + "5,10€")
  elif g < 6:
    print(a + "6,30€")
  elif g < 8:
    print(a + "6,80€")
  elif g < 10:
    print(a + "7,40€")
  elif g < 12:
    print(a + "7,80€")
  elif g < 14:
    print(a + "8,50€")
  elif g < 18:
    print(a + "10,30€")
  elif g < 25:
    print(a + "13,30€")
  elif g < 31:
    print(a + "14,00")

in Java bekomme?

PC, Computer, programmieren, Java, BlueJ, Eclipse, Informatik, Python, übersetzen
Java / BlueJ: Wo ist hier der Fehler?

Ich habe folgendes Programm geschrieben:

public class Formel {
  private int c;

  private int p;

  private int k;

  private boolean ergebnis;

  public Formel() {
    double formel = Math.pow(c, 3) - 3 * Math.pow(c, 2) * (p -k) + 3 * c * (Math.pow(p, 2) - Math.pow(k, 2)) - (Math.pow(p, 3) + Math.pow(k, 3));
    p = 2;
    k = 1;
    boolean ergbnis = false;

    for (formel = 0;;) {
      do {
        Math.pow(-4 * Math.pow(k, 3) + 9 * Math.pow(k, 2) * p + Math.pow(-16 * Math.pow(k, 6) + 24 * Math.pow(k, 5) * p + 9 * Math.pow(k, 4) * Math.pow(p, 2) - 22 * Math.pow(k, 3) * Math.pow(p, 3) + 9 * Math.pow(k, 2) * Math.pow(p, 4), 0.5) - 3* k * Math.pow(p, 2), 1 / 3); // divided by Math.pow(2, 1/3);
        p++;
        k++;
      }
      while (ergebnis = false);
  
      if (ergebnis = true) {
        System.out.println(c);
        System.out.println(p);
        System.out.println(k);
        break;
      }
    }
  }
}

Hier:

3 * k* Math.pow(p, 2), 1 / 3); // divided by Math.pow(2, 1 / 3)

will ich, dass die linke Seite (also den ganzen linken Term beginnend mit Math.pow(-4Math.pow(k,3)...) durch die rechte geteilt wird. Also soll da stehen:

Math.pow(-4 * Math.pow(k, 3) + 9 * Math.pow(k, 2) * p + Math.pow(-16 * Math.pow(k, 6) + 24 * Math.pow(k, 5) * p + 9 * Math.pow(k, 4) * Math.pow(p, 2) - 22 * Math.pow(k, 3) * Math.pow(p, 3) + 9 * Math.pow(k, 2) * Math.pow(p, 4), 0.5) - 3 * k * Math.pow(p, 2), 1 / 3) / Math.pow(2, 1 / 3);

Jedoch ist das Problem dass er das geteilt Zeichen nicht als Statement sieht? Was ist hier falsch bzw. wie kann ich das korrigieren?

Java, BlueJ, Informatiker
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
BlueJ - illegal start of expression. Wo liegt der Fehler?

Hallöchen, wir habe in der Schule vor kurzem mit dem Programmieren angefangen und dazu benutzen wir "BlueJ" und die Klassenbibliothek "Stifte und Mäuse".

Nun habe ich allerdings ein Problem und weiß nicht mehr weiter: In der Klasse Polygon bekomme ich in der Zeile mit "public void zeichne()" eine Fehlermeldung und zwar "illegal start of expression".

import sum.kern.*;

public class Polygon
{
    // Referenzen
    Stift meinStift;
    Polygon meinPolygon;
    Polygon meinPolygon1,meinPolygon2;

    // Konstruktor
    public Polygon(int pN,int pLaenge,int pHPosition,int pVPosition,int pWinkel)
    {
        // Objekte
        meinStift = new Stift();
        this.zeichne(pN, pLaenge, pHPosition, pVPosition, pWinkel);

        // Methoden
        public void zeichne() 

        meinStift.bewegeBis(pHPosition,pVPosition);
        meinStift.dreheUm(pWinkel);
        meinStift.runter();
        meinStift.bewegeUm(pLaenge);
        meinStift.dreheUm(-120);
        meinStift.bewegeUm(pLaenge);
        meinStift.dreheUm(-120);
        meinStift.bewegeUm(pLaenge);

        meinStift.bewegeBis(pHPosition,pVPosition);
        meinStift.dreheUm(pWinkel);
        meinStift.runter();
        meinStift.bewegeUm(pLaenge);
        meinStift.dreheUm(-120);
        meinStift.bewegeUm(pLaenge);
        meinStift.dreheUm(-120);
        meinStift.bewegeUm(pLaenge);
    }
}

Und die oben genannte Klasse Polygon soll auf die Klasse Steuerung "basieren". Liegt vielleicht hier der Fehler?

import sum.kern.*;

public class Steuerung
{
    // Referenzen
    Bildschirm meinBildschirm;

    // Konstruktor
    public Steuerung()
    {
        // Instanzvariable initialisieren
        meinBildschirm = new Bildschirm(800, 800);

        //methoden

        meinStift.bewegeBis(pHPosition,pVPosition);
        meinStift.dreheUm(pWinkel);
        meinStift.runter();
        meinStift.bewegeUm(pLaenge);
        meinStift.dreheUm(-120);
        meinStift.bewegeUm(pLaenge);
        meinStift.dreheUm(-120);
        meinStift.bewegeUm(pLaenge);

        meinStift.bewegeBis(pHPosition,pVPosition);
        meinStift.dreheUm(pWinkel);
        meinStift.runter();
        meinStift.bewegeUm(pLaenge);
        meinStift.dreheUm(-120);
        meinStift.bewegeUm(pLaenge);
        meinStift.dreheUm(-120);
        meinStift.bewegeUm(pLaenge);
    }
}

Ich würde mich sehr freuen, wenn mir jemand helfen würde.

Schule, programmieren, Java, BlueJ, Fehlermeldung
Wie kann ich das programmiertechnisch in BlueJ mit Java umsetzen?

Hallo liebe Community,

ich habe die Aufgabe bekommen, in BlueJ ein Programm zu schreiben, dass Steuern berechnet. Falls der zu versteuernde Betrag unter 5000€ liegt, sind keine Steuern zu zahlen, ab 5000€ sind 10% Steuern zu zahlen, ab 20.000€ sind 15% zu zahlen, bei 50.000€ 20%. Der Benutzer des Programmes soll dann den zu versteuernden Betrag eingeben können und erhält als Ausgabe den Steuersatz und die zu zahlenden Steuern.

Ich habe bis jetzt den Konstruktor mit den Standardwerten initialisiert und die Methode, welche es ermöglicht, die Steuern einzugeben, geschrieben. Ich komme jetzt jedoch nicht bei der Methode weiter, welche den Steuerbetrag berechnet und ausgibt. Höchstwahrscheinlich muss das dann ja in Form einer If-Anweisung erfolgen, aber wie genau? Bin absoluter Anfänger, was die Programmierung angeht und bin deshalb über jeden Rat froh!

Hier zur besseren Nachvollziehbarkeit der bisherige Quelltext:

/** * Ein Programm, das die zu zahlende Steuer abhängig von einem Betrag berechnet und zusammen mit dem * entsprechenen Steuersatz anzeigt. * * @author: * @version: 1 */ public class Steuer { // Instanzvariablen - ersetzen Sie das folgende Beispiel mit Ihren Variablen private double Kapital; private double Steuersatz; private double Steuern;

/**
 * Konstruktor für Objekte der Klasse Steuer
 */
public Steuer()
{
    // Instanzvariable initialisieren
    Kapital = 0;
    Steuersatz = 0;
    Steuern = 0;
}

/**
 * Gib das Kapital an.
 */ 
public void gibKapital (double neuesKapital)
{
    // tragen Sie hier den Code ein
    Kapital = neuesKapital;

}

/** 
 * Gib den Steuersatz an, der dem eingegebenen Kapital entspricht.
 */
public int gibSteuersatz (double Steuersatz, double neuesKapital)

{
    if (neuesKapital <= 5000())
    {
        System.out.println("Sie müssen keine Steuern zahlen. Herzlichen Glückwunsch!");
    }
    
PC, Computer, Schule, Programm, programmieren, Java, BlueJ, Informatik

Meistgelesene Fragen zum Thema BlueJ