产生随机数。无法编译。应当怎么改?
import java.util.*;class randomDisplay
{
int num;
randomDisplay()
{
num = Random();
}
void Dispaly()
{
for(int i=0;i<=10;)
{
int number=num.nextInt();
if(number>=0&&number<=100)
{
System.out.println(number);
i++;
}
}
};
}
class RandomNumber
{
public static void main(String[] args)
{
randomDispaly num = new randomDisplay();
num.Dispaly();
}
}
文件名为RandomNumber.java
执行的时候出错了。原因是什么?
应当怎么改?
----------------解决方案--------------------------------------------------------
import java.util.*;
class randomDisplay
{
int num;
randomDisplay()
{
num = Random(); // num再上面定义为int? Random()是方法? 生成对象用new!!!
}
void Dispaly()
{
for(int i=0;i<=10;)
{
int number=num.nextInt();
if(number>=0&&number<=100)
{
System.out.println(number);
i++;
}
}
};
}
class RandomNumber
{
public static void main(String[] args)
{
randomDispaly num = new randomDisplay(); // 拼写错误
num.Dispaly();
}
}
----------------解决方案--------------------------------------------------------
首先 randomDisplay() 方法体 num = Random(); 改为Random num = new Random();
循环体 int number=num.nextInt(); nextInt(100)加参数
还有你类的实例不要再用num这个名字了
----------------解决方案--------------------------------------------------------
还有nextInt()方法不加参数取出的随即数永远是一个大于零小于1的double类型,转成int型永远都是零
再有就是不用判断number的范围
----------------解决方案--------------------------------------------------------
使用Math.random
----------------解决方案--------------------------------------------------------
import java.util.*;
class randomDisplay
{
int num;
randomDisplay()
{
Random num =new Random();
}
void Dispaly()
{
int number=0;
for(int i=0;i<=10;)
{
number=num.nextInt(100);
if(number>=0&&number<=100)
{
System.out.println(number);
i++;
}
}
};
}
class RandomNumber
{
public static void main(String[] args)
{
randomDisplay numb = new randomDisplay();
numb.Dispaly();
}
}
现在改成了这个样子还是不行啊。
提示无法取消int
number=number.nextInt(100)的这个“.”有问题。
----------------解决方案--------------------------------------------------------
num 变量是randomDisplay() 方法里面的局部变量 你把这个方法加个返回值,然后把方法的返回值赋值给number变量就可以了。返回值用double或者int都可以
----------------解决方案--------------------------------------------------------
import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;
public class Demo{
public static void main(String[] args){
List<Integer> list=new ArrayList<Integer>();
for(int i=0;i<100;i++){
list.add((int)(Math.random()*100)+1);
}
Iterator iterator=list.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
}
}
----------------解决方案--------------------------------------------------------