Preciso de ajuda - programa Java iniciante

Olá pessoal,
Estou começando no Java e tem uma questão no meu curso que gostaria que alguém me ajudasse, porque entra já na parte de frames e buttoms e não entendo ainda direito como funciona.

A questão é o seguinte:
Cria uma calculadora de divisão e diz o seguinte:

Você está praticando a edição de um programa desconhecido. Embora a maioria do programa pareça enigmático e você não conheça as palavras usadas no código-fonte, provavelmente encontrará coisas familiares lá.

Uma calculadora divisória gráfica (ou seja, o programa abre em uma janela) é implementada na barra de tarefas. No entanto, o programa tem um pouco de confusão, como você pode ver na figura abaixo.

Na figura:
barra com botões minimizar / maximizar / fechar janela
Número 1: [campo para digitar] [no exemplo: 3]
Número 2: [campo para digitar] [no exemplo: 2]
Botão [dividir] mostra a resposta: 3/2=1

Encontre o problema e conserte-o. Note que nesta tarefa (e outras tarefas relacionadas a interfaces de usuário) testes automáticos usam o mouse. Portanto, não use o mouse durante o teste.

Obs:
kentta = campo
teksti = texto
(infelizmente estou na Finlândia e o curso é em finlandês. traduzi o melhor que pude).

Amaria se alguém de vocês pudesse me ajudar.

O programa:

import javafx.application.Application;
import javafx.beans.value.ObservableValue;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;
import java.util.Scanner;

public class Dividir extends Application {

    @Override
    public void start(Stage stage) {

        // cria um layout e define o layout dos componentes da interface do usuário
        GridPane root = new GridPane();
        root.setVgap(10);
        root.setHgap(5);
        root.setPadding(new Insets(10));

        // criao campo de texto
        Label numero1Teksti = new Label(" Número 1:");
        Label numero2Teksti = new Label(" Número 2:");
        
        // cria campos onde o usuário pode inserir texto
        TextField numero1Kentta = new TextField("0");
        numero1Kentta.setId("numero1");
        TextField numero2Kentta = new TextField("0");
        numero2Kentta.setId("numero2");
        
      // codificação copy-paste estúpida
       numero1Kentta.textProperty().addListener((ObservableValue<? extends String> observable, String oldValue, String newValue) -> {
            if (!newValue.matches("\\d*")) {
                numero1Kentta.setText(new Integer(newValue.replaceAll("[^\\d]", "")).toString());
            }
        });
        numero2Kentta.textProperty().addListener((ObservableValue<? extends String> observable, String oldValue, String newValue) -> {
            if (!newValue.matches("\\d*")) {
                numero2Kentta.setText(new Integer(newValue.replaceAll("[^\\d]", "")).toString());
            }
        });

     // cria um campo onde o resultado do cálculo é finalmente definido
        Label resultadoTeksti = new Label("");
        resultadoTeksti.setId("resultado");

       // cria um botão pelo qual o cálculo é feito
        Button btn = new Button();
        btn.setId("nappi");
        btn.setText(" / ");
        btn.setOnAction((e) -> {

       // recupera os valores nos campos de texto e os converte em números

            double numero1 = Double.parseDouble(numero1Kentta.getText());
            double numero2 = Double.parseDouble(numero2Kentta.getText());
            
            if(numero2 == 0) {
                return;
            }

            // realiza a divisão
            double resultado= numero1 / numero2;

            // define o texto no campo que exibe o resultado
           resultadoTeksti.setText(numero1 + " / " + numero2 + " = " + resultado);
        });

        // adiciona os elementos criados à interface do usuário
        root.add(numero1Teksti, 0, 0);
        root.add(numero1Kentta, 2, 0);
        root.add(numero2Teksti, 0, 1);
        root.add(numero2Kentta, 2, 1);

        root.add(btn, 0, 2);
        root.add(resultadoTeksti, 2, 2);

        // mostra o programa
       Scene scene = new Scene(root);

        stage.setTitle("");
        stage.setScene(scene);
        stage.show();
    }

        public static void main(String[] args) {
        Scanner lukija = new Scanner(System.in);     
    
        public void divide(numero1. numero2) {
            System.out.print(resultado);
    
    }

}

Não sei como o cara inicia um curso ensinando JavaFX e ainda usa lambda, sem ao menos ensinar a lógica de programação, oo e swing, mas tudo bem. Bom, pelo que vi falta fechar o método main. Para isso basta colocar uma } abaixo da linha que está escrito:

Scanner lukija = new Scanner(System.in);

Também tem um erro no método divide, onde deveria ser:

public void divide(double numero1, double numero2) { System.out.println(numero1/numero2); }

Recomendo você procurar um pouco sobre a biblioteca swing do Java, é parecida com a do JavaFX. Tem muitos vídeos bons no youtube, basta pesquisar. O Bradesco também possui cursos de Java online, basta procurar sobre escola virtual bradesco ou algo assim.

Obrigada pela dica Guilherme!

Quem chega nesse ponto jamais será iniciante. Iniciante é quem vê o básico da linguagem, algoritmos e OO, realmente.