我的编码是在1000内随机包装100个素数,其中有一部分有错误信息,我不清楚它,如下:
int date, count = 0;
for (int i = 0; i < 100; i++)
{
date = new Integer(value.nextInt(1000));
if(date > 1 && prime(date) != -1)
tree.add(date);
}
它发送给我的错误消息是:Type mismatch: cannot convert from Integer to int
和The method add(Object) in the type TreeSet is not applicable for the arguments (int)
。
但是,我认为int代表整数?
另外,date > 1 && prime(date) != -1
如何运作?我在网上找不到任何例子,包括prime()等格式。
提前感谢您的帮助。
答案 0 :(得分:0)
我认为这应该有用。
int count = 0;
Integer date = 0;
for (int i = 0; i < 100; i++)
{
date = new Integer(value.nextInt(1000));
if(date > 1 && prime(date) != -1)
tree.add(date);
}
答案 1 :(得分:0)
要生成一组100个不同的素数,请使用以下代码:
public Set<Integer> generatePrimes() {
HashSet<Integer> result = new HashSet<Integer>();
Random random = new Random();
while (result.size() < 100) {
int candidate = random.nextInt(1000);
if (!result.contains(candidate) && isPrime(candidate)) {
result.add(candidate);
}
}
return result;
}
private boolean isPrime(int candidate) {
// determine whether candidate is a prime number
}