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

生成两个数,[0-100],然后输出,然后实现用一个int类型的变量num 保存两个数的算法

思路:可以使用num 高16bit 保存 a 。低16bit 保存b 然后输出 num ,然后再将 a,b 从 num 中解析出来。

方法一

import java.util.Random;
public class TestRandom1{
    public static void main(String[] args){
        //定义取值区间
        final int MIN = 0;
        final int MAX = 101;
        //创建用于得到随机数的对象
        Random random = new Random();
        //得到随机数,并得到正整数   
        int ran1 = (random.nextInt()>>>1)%(MAX-MIN)+MIN;
        int ran2 = (random.nextInt()>>>1)%(MAX-MIN)+MIN;
        System.out.println("ran1 = " + ran1);
        System.out.println("ran2 = " + ran2);
        //打印 ran1 和 ran2的二进制形式
        System.out.println(Integer.toBinaryString(ran1));
        System.out.println(Integer.toBinaryString(ran2));
        //定义用于保存 ran1 和 ran2 的变量 
        int ranNum = 0;
        //ran1 保存在低16位 
        ranNum += ran1;
        //ran2 保存在高16位
        ranNum += (ran2 << 16);
        //打印ranNum 的二进制形式
        System.out.println(Integer.toBinaryString(ranNum));
        
        //将ranNum 中的保存的两个数分别打印
        System.out.println("低16位表示的数为:" + (ranNum&0xffff));
        System.out.println("高16位表示的数为:" + (ranNum>>16));
        
    }
}

方法二

方法二