Mit BlueJ programmieren?

Hallo alle zusammen,

ich sitze gerade schon seit fast anderthalb Stunden an diesen drei Aufgaben und weiß einfach nicht weiter. Kann mir jemand helfen, der mit BlueJ Erfahrung hat?

Vielen Dank im Voraus.

Hier die Aufgaben:

/**Projekt: ReihungMax01_roh
 * Klasse : Reihung
 * @author: thh
 * @version: 13.5.14/2.11.12
 */
public class Reihung {
  // Objektvariablen deklarieren
  int anzahl = 19;
  double[] platz = new double[anzahl]; //Reihung deklarieren; wird 19 Kommazahlen 
  // als Werte erhalten; 
  /** 
   * Konstruktor fuer Objekte der Klasse Reihung */
  public Reihung() {
    // gesamte Reihung initialisieren, indem ... 
    for (int i = 0; i < anzahl; i++) {     // alle Inhalte der Reihung festgelegt werden
      platz[i] = 100 + 200*Math.random(); // <-- 5.
    }
  }
  
  /** die Gesamtzahl der Elemente
   * in der Reihe ausgeben */
  public int gibAnzahl() {
    return anzahl;
  }

  /** ein bestimmtes Element der Reihung ausgeben
   * die Nr. des gewuenschten Elementes angeben */
  public double gibPlatz(int i) {
    if (i < anzahl && i >= 0) { 
      return platz[i]; 
    }
    else { 
      return -888.888; 
    }
  } 
   
  /** Aufgabe 1:
   * setzt fuer zwei Elemente der Reihung platz neue Werte fest.
   * Das Element mit dem Index 5 in Reihung platz[ ] wird auf 555.55 gesetzt
   * Das Element mit Index 9 auf der Wert 99.99  */
   
  /** Aufgabe 1:
   * setzt ein bestimmtes Element der Reihung platz[ ] auf einen
   * neuen vorzugebenden Wert. 
    Schreibe nun für i den Index des Elements, welches verändert werden soll
    und für wert den Wert der eingesetzt werden soll*/
   
  /** Aufgabe 2: 
   * sucht das Maximum in der Reihung platz[ ] 
   * und meldet diesen Wert als Antwort */
   
  /** Aufgabe 3: 
   * sucht den Index, an dem das Maximum in der Reihung platz[ ] steht 
   * und meldet diesen Index */
}

/* 
 * 2. Beschreibe deine Idee in Worten. 
 *  Erstelle den Rumpf dieser Methode, die das Maximum in der Reihung 
 *  platz sucht und als Antwort zurueckgibt. 
 *  Achte auf die Farbunterlegung beim Schreiben neuer Methoden.
 *  Erkennst du im Quelltext die Idee/den Algorithmus wieder?
 * 
 * 3. Entwirf und implementiere eine Methode, die den Index nennt,
 *  an dem das Maximum steht. 
 *  Was ist der Unterschied zu Aufg.2?
 *  
 * 4. ** platz[i] = 100 + 200*Math.random();
 *  Hierdurch werden Zahlen zwischen 100.0 und 299.99999 zufaellig erzeugt.
 *  Welche Werte koennen die Elemente der Reihung annehmen, wenn
 *  Z.18 lautet:   platz[i] = 500*Math.random() + 200 ;  ?
 *  *** Z.18 lautet: platz[i] = 13 + i*Math.random() + 20*i ; ?
 * 5. Kopieren (auf Dateiebene ausserhalb von BlueJ) das gesamte
 *  Projekt-Verzeichnis und gib der Kopie einen neuen Namen wie ReihungMax02.
 *  Oeffne dieses Projekt und arbeite im neuen Projekt weiter. 
 */
Computer, Programmieren, Java, Programmierung, BlueJ, Informatik
Wie bekomme ich es hin, dass mein Programm bei allen erstellten GameObjects z.B. die Update-Methode aufruft und anschließend die Draw-Methode?

Hallo zusammen,

ich programmiere zur Zeit ein Spiel. Angefangen hatte ich mit Snake und nun bin ich übergegangen zu mehr komplexen Bildern (es sind immer noch Bilder, es war aber einiges an Arbeit nötig)

https://www.youtube.com/watch?v=i5tHF4yNmRg

Nun wird das Ganze Programm langsam alles andere als übersichtlich und ich mache mir Gedanken, wie ich die ganze Klassentopologie besser lösen könnte.

Zur besseren Übersicht, wie ich das zur Zeit mit meinen Klassen mache:

GameObject:-

  • Stellt z.B. ein Frame des Pikachu da oder auch ein Quadrat auf dem Bildschirm.
  • GameObject kann einen Pfad übergeben werden, und sich damit selber initialisieren.
  • Hat eine öffentliche Funktion womit es dann am Ende gezeichnet wird:
bool InsertGameObject(BYTE* ToArray, const Containers::Size& ToSize, const Containers::Point &ToPoint);

SceneObject: Im Grunde eine Liste mit vielen GameObjects, gibt z.B. eine Funktion zum Aktualisieren eines Frames:

void SceneObject::UpdateFrame(BYTE* ToArray, const Containers::Size& ToSize, const Containers::Point& ToPoint) {
  if (myFrames.size() == 0)
    return;

  if (CurrentFrame > myFrames.size() - 1)
    CurrentFrame = 0;

  myFrames[CurrentFrame]->InsertGameObject(ToArray, ToSize, ToPoint);
  CurrentFrame++;
}

Das SceneObject benutze ich bei dem Video oben.

Dann habe ich die Klasse Pixeldata. Sie erstellt die ganzen GameObjects, initialisiert sie , und gibt den Platz durch den Destruktor am Ende auch wieder frei.

Sie hat zur Zeit auch einige Funktionen zum Füllen des Bildschirmes, zum Zeichnen einer Scene, etc.. Diese Klasse würde ich vergleichen mit z.B. einer Scene in Unity.

Als wichtigste Klasse, wo die Daten dann anzeigt werden, gibt es die Klasse PaintConnect. Sie schreibt ein BYTE-Array in den Speicher von Paint, und sorgt für die Aktualisierung dessen.

Es ist alles etwas zu durcheinander und ich würde gerne in die Richtung von Unity gehen.

Eine Basisklasse die folgende Methoden hat, die in der abgeleiteten Klasse vorhanden sein müssen:

  • Initialize (Konstruktor)
  • Update
  • Draw
  • Delete (Destruktor)

In Unity würde ich Folgendes schreiben:

public class XYZ : Monobehaviour

Somit komme ich zur eigentlichen Frage: Ich erstelle mir eine Scene, und darin lauter GameObjects. Wie bekomme ich es hin, dass mein Programm bei allen erstellten GameObjects z.B. die Update-Methode aufruft und anschließend die Draw-Methode, ohne dass ich umständlich jedes GameObject selbst definiere?

Programmieren, CPP
Access Button soll Code ausführen?

Sorry, für die Frage, ist bestimmt richtig leicht.

Kenne mich halt leider null mit access aus, habe am Montag das erste mal in meinem Leben was davon gehört und befinde mich zu Zeit in einem Praktikum, ich soll mir alles selbst beibringen.

Ich möchte nun einen Button erstellen, der dann den letzten Datensatz dupliziert und zwar so oft, wie man angibt, also man gibt z.b. eine 5 an, dann dupliziert er den Datensatz 5 mal.

Der PK ist ein Autowert und ich nehme an, das der beim duplizieren sich ändert.

-----------------------

Allerdings habe ich jetzt das Problem, dass wenn ich einen Button erstelle, nur der Assistent erscheint und da habe ich keine Lösung für mein Problem gefunden.

Also wollte ich den Button eine Makro ausführen lassen, doch auch da habe ich nur die vorgegebenen Möglichkeiten entdeckt, welche mir aber auch nicht weiterhelfen.

Ich habe die Makro dann in eine Visual Basic Datei konvertiert.

Da kann ich zwar jetzt einen Code eingeben, aber ich kann die Visual Basic datei nicht mit einem Button verknüpfen.

Da ich auch keine Ahnung vom Coden habe, habe ich mir dafür einen Code im Internet rausgesucht, der anscheinend funktionieren soll:

Private Sub Befehl227_Click()
  Dim lngI    As Long
  Dim lngIMax   As Long
  Dim strEingabe As String
  
  DoCmd.RunCommand acCmdSelectRecord
  DoCmd.RunCommand acCmdCopy
  strEingabe = InputBox("Wie oft?", , 1)
  'Benutzereingabe wurde abgebrochen
  If StrPtr(strEingabe) = 0 Then Exit Sub
  lngIMax = Val(strEingabe)
  For lngI = 1 To lngIMax
    DoCmd.RunCommand acCmdPasteAppend
  Next lngI
End Sub

----------------------

Hoffe mir kann wer weiterhelfen und bevor jmd sagt, man muss keine Datensätze kopieren! -> das ist leider genau die Aufgabe die mir gegeben wurde, ich verstehe den Sinn dahinter auch nicht.

Es handelt sich nämlich um Installationskeys, welche unterschiedlich oft einsetzbar sind, man soll also den Key und paar andere Sachen angeben und dann die Anzahl angeben, dementsprechend oft soll nun der Datensatz kopiert werden, damit man zu jeden einzeln das einlöse-Datum eintragen kann.

Hatte eigentlich erst eine Tabelle mit dem Key und so erstellt und mit einer anderen Tabelle verknüpft, in welcher die einlöse-Datums drinnen stehen, dann kann man ja eigentlich zu jedem Key, beliebig viele Datums zuordnen, aber das soll ich anders machen und zwar mit dem duplizieren.

Wäre also cool, wenn mir wer paar tipps geben könnte und bitte berücksichtigt, bei euren Antworten, dass ich noch ein absoluter Anfänger bin.

Danke schonmal im Vorraus

Programmieren, Access, Datenbank
Wie sendet man über C# eine Email Nachricht?

Hallo.

Also ich möchte so Programmieren, das der Programm mit einem knopfdruck über mein Outlook Email Adresse mit einem Knopf an jemanden Email Nachricht Sendet.

Also das Programm muss erstmal in der lage mit mein Microsoft Outlook Email Accaount einloggen und das er mir eine Nachricht sendet.

Der Code sieht erstmal so aus:

            var from = "Mein_Email@outlook.de";
            var to = "Sein_Email@gmail.com";
            var subject = "Test Nachricht";
            var body = "Test Test Nachricht";

            var username = "Mein Microsoft Accaount Name"; // get from Mailtrap
            var password = "Mein Microsoft Accaount Passwort"; // get from Mailtrap

            var host = "imap-mail.outlook.com";
            var port = 993;

            var client = new SmtpClient(host, port)
            {
                Credentials = new NetworkCredential(username, password),
                EnableSsl = true
            };

            client.Send(from, to, subject, body);

            Console.WriteLine("Email sent");

Als ich der Programm diese Befehl ausführt, hängt er sich nur auf und macht gar nichts weiter. Und wenn ich das Programm pausiere, stelle ich fest dass ganzezeit versucht diese Code "client.Send(from, to, subject, body);" aus zu führen aber es irgendwie nicht gelingt und er nur am aufhängen ist ohne Fehlermeldung. Auf mein Zweites Email hat er nicht mal geschafft mir eine Nachrichten zu senden.

Hat jemand eine Lösung?

Computer, Handy, Internet, Software, Windows, E-Mail, Programmieren, C Sharp, Visual Studio
Wie gebe ich bei PHP mehrere Bedingungen in einer Schleife ein?

Hallo,

ich möchte gerne 2 Bedingungen in einer PHP for – Schleife unterbringen.

Dazu habe ich mich an diese Anleitung gehalten und die beiden Bedingungen mit dem && Operator verknüpft.

https://www.php.de/forum/webentwicklung/php-einsteiger/php-tipps-2006/41760-while-schleife-mit-mehreren-bedingungen

Trotzdem bekomme ich ständig die Fehlermeldung, das PHP kein ; (Strichpunkt) erwartet, sondern eine schließende runde Klammer.

Mein Editor zeigt mir den Fehler in der zweiten for – Schleife bei der Variablen $tageszahl an. Dort wird der Strichpunkt bemängelt.

Desweiteren habe ich versucht, beide Bedingungen zusätzlich in runde Klammern zu setzten. Da wird dann außer dem Strichpunkt auch noch der && Operator bemängelt.

Hier ist mein Code:

        <table border="1">
            <tr>
                <th>Mo</th>
                <th>Di</th>
                <th>Mi</th>
                <th>Do</th>
                <th>Fr</th>
                <th>Sa</th>
                <th>So</th>
            </tr>
        <?php 
            
            $reihen = 6;
            $zellen = 7; 
            $enddatum_monat = date("t");
            
            for($tr = 1; $tr <= $reihen; $tr++ ) {
                echo "<tr>";
                for($td = 1; $td <= $zellen; $td++ && $tageszahl = 1; $tageszahl <= $eintrag; $tageszahl++)  {
                    echo "<td> $tageszahl </td>"; 
                }
                
                echo "</tr>";
            }           

        ?>
        </table>

Es wäre nett, wenn mir jemand zeigen würde, wie mehrere Bedingungen korrekt in einer Schleife untergebracht werden.

Danke

Computer, Programmieren, Schleifen, PHP

Meistgelesene Fragen zum Thema Programmieren