我试图使用此代码生成随机数,但不断收到此错误
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The method nextInt(int) is undefined for the type SecureRandom
at SecureRandom.main(SecureRandom.java:18)
这是我尝试过的事情
public class SecureRandom {
public static void main(String[] args) {
SecureRandom randomNumbers = new SecureRandom();
for (int count = 1; count <=20; count++) {
int face = 1+randomNumbers.nextInt(6);
System.out.printf( " %d" , face);
if (count %5 ==0) {
System.out.println();
}
}
}
}
答案 0 :(得分:8)
编译器正在针对您定义的类解析SecureRandom
。您应该更改类名以避免与java.security.SecureRandom
冲突。
答案 1 :(得分:1)
由于您已调用自己的类SecureRandom
,因此编译器在您想要使用java.security.SecureRandom
时在main方法中使用该类。
您可以通过在代码中使用类的规范名称来强制编译器使用后者:
public class SecureRandom {
public static void main(String[] args) {
java.security.SecureRandom randomNumbers = new java.security.SecureRandom();
for (int count = 1; count <=20; count++) {
int face = 1+randomNumbers.nextInt(6);
System.out.printf( " %d" , face);
if (count %5 ==0) {
System.out.println();
}
}
}
}