是否有任何方法可以将以下for循环转换为使用IntStream?
for (int i =1; i<=5; i++)
{
nums.add(n.nextInt(45)+1);
}
Run Code Online (Sandbox Code Playgroud)
我非常简单地尝试了以下内容:
IntStream.range(1,5).forEach(nums.add(n.nextInt(45)+1));
Run Code Online (Sandbox Code Playgroud)
但它输出以下错误:
不兼容的类型:boolean不能转换为IntConsumer IntStream.range(1,5).forEach(nums.add(n.nextInt(45)+1));
我知道这个问题已被问过多次......但我似乎找不到解决方案。
取自这个官方指南示例: https: //openjfx.io/openjfx-docs/#gradle 我继续并添加到我的build.gradle中:
plugins {
id 'application'
id 'org.openjfx.javafxplugin' version '0.0.8'
}
javafx {
version = '13'
modules = ['javafx.controls']
}
repositories {
mavenCentral()
}
mainClassName = "MyImage"
jar {
manifest {
attributes "Main-Class": "$mainClassName"
}
from {
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
}
}
Run Code Online (Sandbox Code Playgroud)
通过运行gradle jar(或gradle build),实际上应该生成一个 jar,其中应包含构建它所用的所有包,即整个 javafx 库。
但是,当它成功构建后,我继续运行:
java -jar build/libs/MyImage.jar
它仍然抛出错误:
Error: JavaFX runtime components are missing, and are required to run this application …