验证 静态 引用类型的变量

来源:百度知道 编辑:UC知道 时间:2024/05/17 03:31:34
import java.util.*;
public class MyRandom{
static Random Ran;
MyRandom(){
Ran=new Random();}
public static void main(String[] args){
int count=0;float f;
while(count<10){
f=Ran.nextFloat();
System.out.println (f);
count++;

}
}
}
----------------------------
改改呗 不会了

f=Ran.nextFloat();
肯定报的是空指针异常:java.lang.NullPointerException
这是什么东西乱七八糟?
你的对象呢?
main函数里面做什么?程序运行,程序运行要什么?对象
你的Ran对象是属于谁的?是属于你的MyRandom类的,而且是一个static类型
而且你在main里面使用的时候,初始化这个对象没?有没有调用过
Ran = new Random();?
你可能会说,你在MyRandom()方法里面写了,好,夤乖旆椒?闳匆裁坏饔?所以这个Random对象根本就是个空.
所以,你这里应该f =new MyRandom().Ran.nextFloat();
先调用构造方法,因为你的Ran = new Random();写在里面,所以得先调用

其实应该这么写
import java.util.*;
public class MyRandom{
static Random Ran = new Random(); //在类里面初始化
MyRandom(){ }
public static void main(String[] args){
int count=0;float f;
while(count<10){
f = MyRandom.Ran.nextFloat(); //这里这么写
System.out.println (f);
count++;

}
}
}

你看你自己提的问题,你连你问题都搞不清楚,叙述都没有.
你要先打好基础,这些基本知识要掌握牢固!

=======
还有一楼的回答者,你也去好好的打一下基础再来回答问题

f=Ran.nextFloat(); 这里好象不全
好象写少了东西
好象你要设置一个基数吧 括号里面你看看要不要加什么东西