有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java读取一个数学值。随机生成的按钮标签

我正在做一个练习,要求我做以下几点:

  1. 创建网格窗格
  2. 将窗格的水平和垂直间隙设置为零
  3. 将窗格的网格线可见性设置为true
  4. 使用嵌套FOR循环创建按钮并将其添加到窗格(循环 从0到10开始)
  5. 每个按钮必须标有0到99之间的任何数字
  6. 根据以下规则为按钮上色: a、 如果颜色标签可被2整除,则将颜色更改为蓝色 b、 如果颜色标签可被3整除,则将颜色更改为 黄的 c、 如果颜色标签可被6整除,则将颜色更改为绿色

  7. 将窗格添加到场景中

  8. 将场景添加到舞台,然后显示舞台

我已经准备好了一切,只是不知道如何读取数学生成的值。随机,并为该按钮指定特定颜色

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.layout.GridPane;
import javafx.scene.control.Button;
import javafx.scene.paint.Color;



public class Exercise8GridPane extends Application {

    @Override
    public void start(Stage primary) {
        primary.setTitle("Exercise 8");
        GridPane gp = new GridPane();
        gp.setHgap(0);
        gp.setVgap(0);
        gp.setGridLinesVisible(true);
        for (int k = 0; k < 10; k++) {
            for (int l = 0; l < 10; l++) {                
                Button btn = new Button(String.valueOf((int)(Math.random() * 100)));
                // if / 3 == 0){
                btn.setStyle("-fx-base:red;-fx-text-fill:yellow"); 

                  gp.add(btn, l, k);  
            }

        }
        Scene s = new Scene(gp);
        primary.setScene(s);
        primary.show();
        }
    public static void main(String[] args) {
        launch(args);
    }
}

共 (2) 个答案

  1. # 1 楼答案

    爪哇。朗,数学。random()返回一个带正号的双精度值,大于或等于0.0,小于1.0。此后,这个新的伪随机数生成器将用于此方法的所有调用,并且不会在其他任何地方使用

    有无数种阅读方法

    我建议你做一些类似的事情

    int RED = (int) (Math.random() * 256); 
    // Note that Math.random() returns a value less than 1.0 
    int BLUE = ...
    

    很难从一个数字中得到三个值,所以我认为这会很有效

  2. # 2 楼答案

    Math.random() -> 0.0 - 0.9999999...
    (int)(Math.random() * 5) -> 0 - 4
    (int)(Math.random() * 5 + 1) -> 1 - 5
    

    所以你可以写一些像:

    int colorNum = (int)(Math.random() * 4);
    if(colorNum ==0)
        //set button to red
    //etc.