Ajuda! questão Java Net Beans

2 respostas
netbeansjava
I

Quando executo o programa dá certo. Mas quando roda para teste local dá erro.

A tarefa é o seguinte:
Um slider e um campo de texto foram adicionados à interface gráfica do usuário.

image
(meu curso é em finlandês, por isso as palavras aparecem em finlandês na imagem)

Dê uma olhada no código do programa e edite o programa para que o valor do campo de texto seja alterado com base nos valores do controle deslizante:

Se o valor do controle deslizante for 0, o texto deve ser “Nenhum”.
Se o valor do controle deslizante for de 1 a 25, o texto deverá ser “pouco”.
Se o valor do controle deslizante for 26-74, o texto deve ser “Moderado”.
Se o valor do controle deslizante for de 75 a 99, o texto deverá ser “Muito”.
Se o valor do controle deslizante for 100, o texto deve ser “Todo”.

Observe também que nesta tarefa que você não precisa entender o código do programa, mas apenas alguns pontos essenciais.

O código:

import javafx.application.Application;

import javafx.beans.value.ObservableValue;

import javafx.geometry.Insets;

import javafx.scene.Scene;

import javafx.scene.control.Label;

import javafx.scene.control.Slider;

import javafx.scene.layout.GridPane;

import javafx.stage.Stage;

public class Define 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));

    // cria um controle deslizante e um campo de texto
    Slider desliza = new Slider(0, 100, 50);
    desliza.setId("desliza");
    desliza.setShowTickMarks(true);
    desliza.setShowTickLabels(true);
    desliza.setMajorTickUnit(25);
    desliza.setBlockIncrement(5);

    Label text = new Label("Moderado.");
    text.setId("text");

    // atribui ao controle deslizante a funcionalidade que altera o texto
    desliza.valueProperty().addListener((ObservableValue<? extends Number> ov, Number oldValue, Number newValue) -> {
        int valor = newValue.intValue();

        if (valor == 0) {
            text.setText("Nenhum.");    
        } else if (valor >= 1 && valor <= 25) {
            text.setText("Pouco.");                    
        } else if (valor >= 26 && valor <= 74) {
            text.setText("Moderado."); 
        } else if (valor >= 75 && valor <= 99) {
            text.setText("Muito.");
        } else if (valor >= 100) {
            text.setText("Todo.");    
        }
        
    });

    // adiciona os elementos criados à interface do usuário
    root.add(desliza, 0, 0);
    root.add(texto, 0, 1);

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

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

public static void main(String[] args) {
    launch(args);
}

}

2 Respostas

staroski

Seu programa funciona normalmente…
Que erro está acontecendo?

I

Obrigada staroski,
Meu professor disse que fiz correto. Que às vezes as correções são muito precisas. Então deve ser algo que não interfere no programa. De qualquer modo, aqui está o erro:

"FAIL: MaaraTest nullNenhum"

          "Quando o ponteiro vai para a esquerda, teste retorna "Nenhum"

         "FAIL: MaaraTest nullNenhum"

          "Quando o ponteiro vai para a direita, teste retorna "Todo.""

Realmente, meio doido. O teste diz que houve falha, só que é para ser assim mesmo!

Criado 24 de março de 2019
Ultima resposta 26 de mar. de 2019
Respostas 2
Participantes 2