java - 读取 Math.random 生成的按钮标签的值
问题描述
我正在做一个要求我做以下事情的练习;
- 创建一个 GridPane
- 将窗格的水平和垂直间隙设置为零
- 将窗格的网格线可见性设置为 true
- 使用嵌套的 FOR 循环创建按钮并将其添加到窗格(循环从 0 到 10 开始)
- 每个按钮必须标有 0 到 99 之间的任意数字
根据以下规则为按钮着色:如果颜色的标签可以被 2 整除,则将颜色更改为蓝色 b。如果颜色的标签可以被 3 整除,则将颜色更改为黄色 c。如果颜色的标签可以被 6 整除,则将颜色更改为绿色
将窗格添加到场景
- 将场景添加到舞台,然后显示舞台
我已经设置好了所有东西,只是不确定如何读取 Math.random 生成的值并为该按钮分配特定的颜色。
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);
}
}
解决方案
java.lang.Math.random() 返回一个带正号的双精度值,大于或等于 0.0 且小于 1.0。这个新的伪随机数生成器随后用于对该方法的所有调用,并且不会在其他任何地方使用。
有无数种阅读方式。
我建议做类似的事情
int RED = (int) (Math.random() * 256);
// Note that Math.random() returns a value less than 1.0
int BLUE = ...
很难从一个数字中得到三个值,所以我认为这会很好。
推荐阅读
- python - 在 Python 中为 Canvas 窗口编写代码
- visual-studio - Visual Stuido 安装路径文件夹名称已修改
- node.js - 如何从运行的 Hashicorp Vault 服务器获取“root_key”?
- php - php推送通知失败
- kotlin - 如何将 Java 泛型转换为 kotlin 语言泛型
- xmpp - Mongooseim 名册 webhook 后端
- amazon-web-services - 无服务器:使用 S3 中的代码部署 lambda
- html - 在 td 中调整字体真棒图标高度
- php - 接受日期输入(日期选择器)无论用户输入完整日期还是仅输入年份或仅输入年份和月份
- linux - 在 .*sh 文件中启动一个新的 shell