注册 登录
编程论坛 J2EE论坛

nextInt用法

hc19910331 发布于 2012-05-14 09:20, 2818 次点击
import java.util.*;

class Value {
    int i;
    public Value (int i){
        this.i = i;
    }
}
public class FinalData {
    private static Random rand = new Random(47);
    private String id;
    public FinalData(String id){
        this.id = id;
    }
    private final int valueOne = 9;
    private static final int VALUE_TWO = 99;
    public static final int VALUE_THREE = 39;
    private final int i4 = rand.nextInt(20);
    static final int INT_5 = rand.nextInt(20);
    private Value v1 = new Value(11);
    private final Value v2 = new Value(22);
    private static final Value VAL_3 = new Value(33);
    private final int[] a = {1,2,3,4,5,6};
    public String toString(){
        return id + ": " + "i4 = " + i4 + ", INT_5 = " +INT_5;
    }
    public static void main(String[] args){
        FinalData fd1 = new FinalData("fd1");
        fd1.v2.i++;
        //fd1.valueOne++;
        fd1.v1 = new Value(9);
        for(int i = 0;i < fd1.a.length;i++)
            fd1.a[i]++;
//        fd1.v2 = new Value(0);
//        fd1.a = new int [3];
        System.out.println(fd1);
        System.out.println("Creatint new FinalData");
        FinalData fd2 = new FinalData("fd2");
        System.out.println(fd1);
        System.out.println(fd2);
    }
}
上面程序的输出结果是这样的:
fd1: i4 = 15, INT_5 = 18
Creatint new FinalData
fd1: i4 = 15, INT_5 = 18
fd2: i4 = 13, INT_5 = 18

在这里想向各位请教一下:这个程序是怎么执行的,为什么会是这个结果,还有程序中random(47)还有nextInt(20)起的作用是什么?
3 回复
#2
hc199103312012-05-15 10:48
版主来帮个忙么?怎么没人回复啊~~ 急切的求解释。。
#3
lucky5635912012-05-15 12:41
random(47)就是产生0~46的随机数,都是表示随机数的产生范围
#4
hc199103312012-05-15 21:18
回复 3楼 lucky563591
那nextInt(20) 这个呢,这个程序我每次运行,输出的结果都不变,为什么会这样,结果不是应该会随机么,谢谢指导
1