Programmieren – die besten Beiträge

Kann mir jemand helfen, JavaFX in Eclipse zum Laufen zu bringen?

Hallo,

ich bin mit meinem Java-Buch nun bei JavaFX angelangt und muss nun, um den Code weiterverfolgen zu können, dieses installieren. Doch funktioniert dieses aus irgendeinem Grund bei mir nicht.

Das sind die Schritte, die ich aus einigen Websites und Videos habe und durchgeführt habe:

  1. Ich habe das Eclipse-Plugin "e(fx)clipse" installiert.
  2. Ich habe JavaFX17 installiert und den zip-Ordner extrahiert. (Download Website: https://gluonhq.com/products/javafx/)
  3. Dann habe ich in Eclipse eine User Bibliothek angelegt: Window --> Preferences --> Java --> BuildPath --> User Libraries --> New --> (Name eingeben) --> Add External Jars
  4. Die Dateien in dieser Bibliothek mit denen aus den Videos und Websiten verglichen. Das Ergebnis war, dass alle Dateien dabei sind.
  5. Ein JavaFX-Project in Eclipse erstellt: New --> Other --> JavaFX --> JavaFX Project --> (Namen eingeben) --> finish
  6. User Bibliothek zum Projekt hinzugefügt: Rechtsklick auf Projekt --> BuildPath --> Configure BuildPath --> Add Library in ClassPath --> User Library --> Next --> Bibliothek auswählen --> Finish

Mit dem Erstellen des Projekts wurden automatisch ein Package und eine Klasse erstellt, die voller Fehlermeldungen waren. Bei den Websites und Videos sind diese nach dem Hinzufügen der User Bibliothek verschwunden, doch bei mir sind sie weiterhin vorhanden. So sieht das aus:

Ich hoffe ihr könnt mir helfen.

Vielen Dank schon mal im voraus.

Bild zum Beitrag
Computer, programmieren, Java, Eclipse, JavaFX, Technologie

Wie bekomme ich aus einer Zahlenreihe, einer Arrayreihe innerhalb einer arraylist?

Moin!

Ich bin ein blutiger Anfänger, bzw wieder, weil ich alles vergessen habe.

Ich würde gerne eine Zahlenreihe, innerhalb einer Arraylist (name "vorbereiten"), in Arraylisten innerhalb einer Arraylist machen (name "allelisten").

Kein schöner weg und wahrscheinlich auch sehr ungwöhnlich :)

Ich habe mit biegen und brechen und viel lesen irgendwie grob was hin bekommen, obwohl ich es auch ehrlich gesagt noch nicht ganz verstehe.

Mein Ziel ist es, das aus der Zahlenreihe die schon fest in einer Arraylist ist, 3er blöcke als Arraylist zu machen, die zudem nach größe sortiert werden sollen

Also aus [ 14, 44 ,21 , 77, 49, 1, 66, 9,....]

soll werden:

[ [14, 21 ,44] , [1,49, 77], [9, 66,....]]

Ich habe probiert mit ",remove" das irgendwie hin zu basteln, sodass die ersten 3 zahlen in "vorbereiten" verschwinden, aber ich bekomme das nicht in einen loop gebaut, sodass die Zahlen aber trotzdem in "allelisten" bestehen bleiben.

Zudem weiss ich nicht, was ich anstatt der "10" bei "i<10; i++" einfügen muss, damit die ganze liste einmal durchgenommen wird. Es sind über 1000 zahlen.

Ich wäre sehr froh, wenn mir da jemand helfen könnte.

Vielen dank und bleibt gesund!

package eds;

import java.io.FileNotFoundException;
import java.util.ArrayList;

public class nhnbjbgn {

    public static void main(String[] args) throws FileNotFoundException {
        
        ArrayList<Integer> vorbereiten = new ArrayList<>();
        
        vorbereiten.add(14);
        vorbereiten.add(44);
        vorbereiten.add(21);
        vorbereiten.add(77);
        vorbereiten.add(49);
        vorbereiten.add(1);
        vorbereiten.add(66);
        vorbereiten.add(9);
        vorbereiten.add(99);
        
        
            ArrayList<ArrayList<Integer>> alleListen = new ArrayList<>();
            ArrayList<Integer> tmp;
            
            for(int i=0;i<10;i++){
                tmp=new ArrayList<>();
                if(i==0){
                    tmp.add(vorbereiten.get(0));
                    tmp.add(vorbereiten.get(1));
                    tmp.add(vorbereiten.get(2));
                }
                else{
                    tmp=(ArrayList<Integer>) alleListen.get(i-1).clone();
                    
                }
                alleListen.add(tmp);
            }
            System.out.print(vorbereiten);
            System.out.print(alleListen);
        }     
}

Bild zum Beitrag
Computer, Schule, Programm, programmieren, Java, Eclipse, Informatik

C Programmierung: Zweidimensionale Arrays und Pointer?

Guten Tag,

ich hätte ein paar Fragen zu Pointern im Bezug auf zweidimensionale Arrays und Pointer. Zuerst wollte ich fragen, ob mir jemand die Syntax hinter Pointern für mehrdimensionale Arrays in C erklären kann?

Wenn ich einen Array habe, wie bspw.:

int ary[2][3] = { {1, 2, 3}, {4, 5, 6} };

Nun möchte ich einen Pointer auf diesen Array:

int (*p1)[3] = ary; // Pointer auf int Array der Länge 3
int (*p2)[2][3] = &ary; // Pointer auf 2 dim Array der aus 2 int Arrays der Länge 3 besteht.

Warum werden hier die Indizes hinter dem Pointer geschrieben und nicht etwas wie:

int[2][3] *p2

Wäre das nicht intuitiver? Gibt es hinter der Schreibweise einen logischen Sinn?

Eine weitere Frage zur Syntax wäre, wie man das korrekt aufschreibt, wenn man einen return Value oder einen Funktionsprototypen aus einem Pointer zu einem zweidimensionalen Arrays (mit klar definierter Größe) haben möchte?

Dazu wollte ich noch sichergehen, dass meine Vermutung, warum ich für die Zuweisung bei p2 noch ein & davor hängen muss, die Richtige ist. ary und &ary sind exakt die selben Pointer. Ist es so, weil ary als Pointer auf einen int Array der Länge 3 hinterlegt ist und &ary sozusagen ein Pointer auf einen zweielementigen Array ist, der aus int Arrays der Länge 3 besteht?

Über eine Antwort würde ich mich sehr freuen!

Computer, Technik, programmieren, Informatik, C (Programmiersprache)

Arduino LED "gleichmäßiger" pulsieren lassen?

Bei dem einfachen Sketch für eine pulsierende LED ist es immer so, dass die helligkeit am Anfang sehr schnell ansteigt, dann immer langsamer, sodass es aussieht als würde sich die helligkeit fast gar nicht verändern? Hat jemand eine idee wie man das lösen könnte?

Meine idee wäre gewesen, die zählervariable in der Schleife, die die helligkeit angibt und immer mit 1 addiert wird, jedes mal zu quadrieren, oder eben hoch *irgendeine andere zahl*, sodass die helligkeit nach oben hin immer schneller ansteigt, aber es so aussieht als würde sie gleichmäßig ansteigen.

Das funktioniert aber irgendwie nicht. Wenn ich die variable in int speichere und z.b. hoch 2 rechne, geht es, das ist aber zu schnell. Mit dezimalzahlen gibt es immer eine fehlermeldung.

Wenn ich die Variable in int speichere:

Test:27:26: error: invalid operands of types 'int' and 'double' to binary 'operator^'
   helligkeit = helligkeit^1.5;
                ~~~~~~~~~~^~~~
exit status 1
invalid operands of types 'int' and 'double' to binary 'operator^'

Das könnte wegen den 1,5 sein. Aber wenn ich die Variable in double speichere:

Test:27:26: error: invalid operands of types 'double' and 'double' to binary 'operator^'
   helligkeit = helligkeit^1.5;
                ~~~~~~~~~~^~~~
exit status 1
invalid operands of types 'double' and 'double' to binary 'operator^'

Es ändert sich nichts. Wo liegt hier der Fehler?

FROHE WEIHNACHTEN!!!
Computer, Technik, Elektronik, programmieren, Elektrotechnik, Mikrocontroller, Arduino, LED, Technologie

Meistgelesene Beiträge zum Thema Programmieren