提问人:ghostsushi 提问时间:9/19/2023 最后编辑:John Kugelmanghostsushi 更新时间:9/20/2023 访问量:68
Math.random 无法在 jGrasp 中编译
Math.random won't compile in jGrasp
问:
当我尝试在代码中使用 Math.random 时,我得到“错误:找不到符号”并指向 Math 和 random 之间的“.”。但是,当我在 programiz.com 上将代码重写为在线编译器时,它可以正常工作。这是我拥有的代码。
public class RandomMath {
public static void main(String[] args) {
int firstNum = 1;
int lastNum = 3;
// generates a random number between 0 to 1
System.out.println(firstNum + Math.random());
}
}
我尝试在不带任何其他东西的情况下编写代码,只有 Math.random。它仍然说“.”是一个找不到的符号。
答:
1赞
lbarowski
9/20/2023
#1
最有可能的是,您在同一目录中有自己名为“Math”的类,因此对“Math”的任何非限定引用都是对该类的引用。将自己的类命名为与常用的 JDK 类相同的类通常是一个坏主意,但如果你这样做,那么你可以完全按照上面的建议“java.lang.Math.random()”进行限定,或者你可以导入 java.lang.Math(但如果你这样做,并且你自己的“Math”类在默认包中,那么如果你需要的话,将无法访问你自己的“Math”类)。
此外,javac 错误将有一个指向点的插入符号 ^,但在其下方您应该看到“symbol: method random()”。
评论
Math.random()
java.lang.Math.random()