Hat jemand Verbesserungsvorschläge für dieses Programm?

Hallo, ich versuche gerade ein Programm zu schreiben (in Java Eclipse), das folgende Aufgabenstellung hat:

Das Programm soll alle Fibonacci-Zahlen in einem geschlossenen Intervall [a, b] als kommagetrennte Liste ausgeben. Ausnahme: die Zahlen, die durch 3 teilbar sind, sollen durch ";" separiert sein. Die natürlichen Zahlen a und b müssen vom Benutzer eingegeben werden.

Beispiel 1 (blau = Benutzereingabe):

a: 3
b: 100
Fibonacci=3;5,8,13,21;34,55,89

Beispiel 2:

a: 12
b: 800
Fibonacci=13,21;34,55,89,144;233,377,610

UND Teil 2

Das Programm soll noch eine Liste mit den ungeraden Fibonacci-Zahlen und den Intervallenden a und b ausgeben. Auch hier gilt, dass alle Zahlen, die durch 3 teilbar sind, durch einen folgenden Strichpunkt zu kennzeichnen sind. Eine Zahl darf nicht doppelt in der Ausgabe vorkommen. 

Für obige Eingabe sollte also zusätzlich folgende Zeile ausgegeben werden:

Beispiel 1

ungerade Fibonacci=[3;5,13,21;55,89,100]

Beispiel 2

ungerade Fibonacci=[12;13,21;55,89,233,377,800]

Soviel zur Aufgabenstellung.
Bis jetzt habe ich folgendes ( siehe Bild) geschafft. Meine Problem: wenn der Benutzer zum Beispiel für a 10 und für b 20 eingibt, dann zeigt das Programm die zehnte bis zwanzigste Zahl, aber es sollte eigentlich nur 13 anzeigen. Des Weiteren weis ich nicht, was ich machen sollte, damit nach jeder ungeraden Zahl ein ; steht. und Teil 2 der Aufgabe ist mir auch nicht klar, aber ich wäre schon glücklich genug, wenn mir jemand bei Teil 1 helfen könnte!

Danke und liebe Grüße!

Bild zu Frage
Computer, Programmierer, programmieren, Java, Informatik, Informatiker
CSS / JavaScript: Hilfe bei Leaflet-Integration?

Hallo Leute,

ich brauche Hilfe bei dieser Arbeit.

1. Es sollen zwei Karten nebeneinander sein. Jedoch soll die rechte Karte eine Here-Map sein. Wie baue ich das in den Code ein (siehe unten)?

Sie müssen http://ivansanchez.gitlab.io/Leaflet.TileLayer.HERE/leaflet-tilelayer-here.js in einem <script>-Tag laden. Danach müsste es mit sowas hier gehen:
L.tileLayer.here({
  appId: 'ViVS62MmsdTJSzwXMlHb',
  appCode: 'bsODmSCzkVqEMR8TnGPHdw'
}).addTo(map);
Statt addTo(map) kommt natürlich der Name Ihrer rechten Karte hin.
appId und appCode sind hier aus dem Beispiel von Ivan Sanchez http://ivansanchez.gitlab.io/Leaflet.TileLayer.HERE/demo.html

________________

2. Außerdem soll die zweite Karte sozusagen synchron/parallel mit der linken Karte verlaufen:

Sie müssen, wenn der Benutzer in der linken Karte zoomt oder sie verschiebt, die rechte Karte aktualisieren. Dazu müssen Sie eine Funktion schreiben, die aufgerufen wird, wenn auf der linken Karte das "zoomend" oder "moveend"-Ereignis auftritt.
Also etwa
map1.on("zoomend", meine_funktion);
und dann in der meine_funktion können Sie auf der rechten Karte "setBounds" aufrufen, um die rechte Karte zu verschieben/zu zoomen. Das "setBounds" muss dabei den aktuellen Ausschnitt der linken Karte übergeben bekommen (getBounds).

_________________________________________________

<html>
  <head>
    <link rel="stylesheet" href="https: //unpkg.com/leaflet@1.4.0/dist/leaflet.css"></link>
    <script src="https: //unpkg.com/leaflet@1.4.0/dist/leaflet.js"></script>
    <script src="http: //unpkg.com/leaflet@1.3.1/dist/leaflet.js"></script>
    <script>
      function initMaps() {
        map = new L.map('meine_map');
        L.tileLayer('https: //{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(map);
        let karlsruhe = new L.LatLng(49, 8.4);
        map.setView(karlsruhe, 12);
        map1 = new L.map('meine_map1');
        L.tileLayer('http: //{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png').addTo(map1);
        map1.setView(karlsruhe, 12);

        document.getElementById("suchen").addEventListener("click", suchen);
      }

      async function suchen() {
        let url = new URL('https: //nominatim.openstreetmap.org/search');
        url.searchParams.append('format', 'json');
        url.searchParams.append('q', document.getElementById("ort").value);

        let response = await fetch(url);
        let json = await response.json();
        let box = json[0].boundingbox;

        map.fitBounds([ [ box[0],box[2] ], [ box[1],box[3] ] ]);
        map1.fitBounds([ [ box[0],box[2] ], [ box[1],box[3] ] ]);
      }
    </script>
  </head>
  <body onLoad="initMaps()">
    <div id="meine_map" style="height: 360px; width: 360px;"></div>
    <div id="meine_map1" style="position: absolute; top: 9px; left: 375px; height: 360px; width: 360px;"></div>
    <input type="text" id="ort">
    <button id="suchen">Suchen</button>
  </body>

Anmerkung: Damit der GF-Editor die URLs nicht verfälscht, wurde im Protokoll stets ein Leerzeichen hinzugefügt.

Ich danke euch für die Hilfe im Voraus!

LG

HTML, programmieren, CSS, Java, JavaScript, Informatik, Informatiker
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
Vom Fachinformatiker (Systemintegration) zum Veranstaltungstechniker?

Nachdem einer meiner ehemaligen Klassenkameraden mitbekommen hat, dass mir meine ersten 5 Monate in meiner Ausbildung zum Fachinformatiker für Systemintegration nicht so sonderlich viel Spass und Freude bereitet haben, hat dieser mich angeschrieben und darauf hingewiesen, dass in einem Theater in meiner Nähe (er macht dort ein FSJ) noch dringend ein Azubi in Richtung Fachkraft für Veranstaltungstechnik gesucht wird.

Ich habe an meinem ehemaligen Gymnasium bereits zwei Jahre als Leiter der AG Tontechnik und noch einige mehr als Mitglied ebendieser AG hinter mir. Ich arbeite außerdem auf ehrenamtlicher Basis bei einer kleinen Firma für Veranstaltungstechnik nebenbei mit, da mir das Steuern von Licht und Ton, aber auch der Aufbau, sehr viel Spass bereiten.

Nun habe ich aber einige Fragen, die ich euch im Folgenden stellen möchte.

  1. Ist es sinnvoll, meine Ausbildung jetzt schon abzubrechen und stattdessen eher im Veranstaltungsbereich einzusteigen? Sollte ich lieber warten?
  2. Die Berufsschule wäre in meinem Fall in München. Das liegt ca. 3 Stunden Fahrzeit von mir entfernt. Lohnt sich dieser Aufwand?
  3. Mir wurde angeboten, dass ich auch vorher ein Praktikum machen könnte. Allerdings darf man das ja soweit ich weiß nicht, solange man noch in einer anderen Firma arbeitet. Kann man sich trotzdem den Arbeitsalltag in dem Theater anschauen ohne, dass dadurch rechtliche Konsequenzen entstehen könnten?

Ich bin mit der Situation derzeit leider etwas überfordert. Hoffe hier kann mir jemand weiterhelfen. Danke schonmal im voraus. :)

Beruf, Schule, Ausbildung, Berufswahl, Berufsschule, Fachinformatiker, Informatik, Informatiker, Veranstaltungstechnik, Fachinformatiker Systemintegration, Ausbildung und Studium, Beruf und Büro

Meistgelesene Fragen zum Thema Informatiker