大师网-带你快速走向大师之路 解决你在学习过程中的疑惑,带你快速进入大师之门。节省时间,提升效率

求随机数[100-1000),人性化打印,求得该数的逆序的数值形式,并打印。

话不多说,附上代码:
相关的文字说明我会在代码注释中标注出来

public class TestMain{
    //求随机数[100-1000),人性化打印,求得该数的逆序的数值(int)形式,并打印。
    //思路:将个位十位百位单独求出来,然后个位和百位交换位置即可。
    public static void main(String[] args){
        //java 中如何得到一个随机数
        final int MIN = 100;
        final int MAX = 1000;
        //随机数 返回一个double 值,随机的。0 到  1.0  前闭后开
        //Math.random();[0~1.0)
        double ran = Math.random();
        double number = ran*(MAX-MIN)+MIN;
        //System.out.println(number);
        //将double转化为int 
        int intNum = (int)number;
        //思考,如果通过一行代码实现得到一个指定区间的随机数。
        //一行实现得到一个指定区间的随机数
        intNum = (int)(Math.random()*(MAX-MIN)+MIN);
        System.out.println("随机数为:"+intNum);
        //个位,十位,百位
        int theUnitNum = intNum%10;
        int tensDigitNum = intNum/10%10;
        int hundredsNum = intNum/100;
        //新数
        int newNum = theUnitNum * 100+tensDigitNum*10 + hundredsNum;
        System.out.println("随机数:"+intNum+"\t的逆序形式为:"+newNum);
    
    }
    
}

另外,使用位运算符也可以达到同样的目的,而且效率更高

使用位运算符求随机数

同时还有:

int num = (ran.nextInt()>>>1)%(Max-Min)+Min